본문 바로가기
GM Library/☆ 기말시험 Data

방송대 방통대 C++프로그래밍 기말시험 기출문제 2015년도 2학기 1학년 / 올에이클래스 모의고사

by GO, EUNJUNG / ΛΙΙΛ™ 2024. 9. 6.
0-썸네일-C++프로그래밍-기말-15-2-1
0-썸네일-C++프로그래밍-기말-15-2-1
2015 학년도  2 학기  1 학년  25 문항
C++프로그래밍
시험종류   :기말시험
출제위원   :방송대 이병래
출제범위   :교재 3~8장 (해당 멀티미디어강의 포함)
자료출처   :한국방송통신대학교
웹앱제작   :올에이클래스 김현수
C++ 코드 중 문장 이해에 문제가 없는 부분은 ……으로 생략하였음
(36~37) 다음은 함수 호출 문장의 int형 실 매개변수의 값을 서로 바꾸는 함수 swapValues이다. 다음 질문에 답하라.
( ㄱ ) swapValues ( ㄴ ) {
int tmp = x;
x = y;
y = tmp;
}
36(ㄱ)에 넣을 적절한 단어는? (2점)
해설)
37㈁에 작성할 형식 매개변수 선언문으로 적절한 것은? (2점)
해설)
38함수의 디폴트 인수에 대한 올바른 설명은? (2점)
해설)
39다음과 같이 원형이 선언된 함수에 대한 올바른 설명은? (2점)
void func(const Coord2D& c, int x, int y=10);
해설)
40다음 함수의 원형 ㈀∼㈃ 중 아래 문장 ⒜에 의해 호출되는 함수는? (3점)
int f(int x, int y);    // ㈀
int f(float x, float y);  // ㈁
int f(int x, double y); // ㈂
void f(int x);      // ㈃
int a = f(10, 2.0);   // ⒜
해설)
(41~43) 다음은 계수를 지시하면 1씩 감소하는 하향계수기 클래스의 선언문이다. 질문에 답하라.
class DnCounter {
const int max; // 계수기의 최댓값
int value;    // 계수기의 현재 값.
public:
(  ㄱ  )
void reset() { value = max; }
void count() { value = value ? value-1:max; }
int getValue() const { return value; }
};
41㈀에 넣을 DnCounter 클래스의 생성자 선언 문장으로 올바른 것은? (4점)
해설)
42문제 41의 생성자가 선언된 경우 DnCounter 클래스의 객체를 선언하는 올바른 문장은? (3점)
해설)
43다음 중 아래의 함수 g의 몸체 블록 ㈎에서 사용할 수 있는 문장은 무엇인가? (가시성과 const에 유의하라.) (2점)
void g(const DnCounter& cnt) {
(  가  )
}
해설)
44다음 중 생성자에 대한 설명으로 올바른 것은? (4점)
해설)
45다음 중 소멸자에 대한 설명으로 올바른 것은? (4점)
해설)
(46~48) 다음 클래스에 대한 질문에 답하라.
ClassA.h

class ClassA {
int a
double b;
static int c;
public:
int f1();
static int f2();
};
ClassA.cpp

#include "ClassA.h"
int ( ㄱ ) f1() {
……
}
int ( ㄱ ) f2() { //static
( ㄴ )
}
int ( ㄱ ) c = 0;
46클래스 ClassA의 멤버를 정의하기 위해 ㈀에 필요한 내용은 무엇인가? (3점)
해설)
47데이터 멤버 c에 대한 올바른 설명은? (3점)
해설)
48다음 중 static 멤버함수의 몸체인 ㈁에 포함될 수 있는 문장은? (2점)
해설)
(49~50) 다음은 연필의 개수를 12자루 묶음의 타와 낱개로 표현하는 클래스이다. 다음 질문에 답하라.
class Pencils {
int dozens, np;  // 타, 낱개
public:
……  // 생성자(생략)
Pencils operator ++ ();
Pencils operator ++ (int);
Pencils operator + (const Pencils& p);
Pencils operator * (int n);
……
};
(  ㄱ  ) {
if (++np >= 12) ++dozens, np = 0;
return *this;
}
49다음 중 (ㄱ)에 넣을 적절한 구문은 무엇인가? (2점)
해설)
50위 내용만으로 볼 때 다음 중 Pencils 객체 p1과 p2를 대상으로 사용할 수 있는 연산에 해당되지 않는 것은? (2점)
해설)
51다음 중 클래스에 대한 설명으로 올바른 것은? (4점)
해설)
52파생클래스 객체가 만들어지고 제거될 때 파생클래스와 기초클래스 생성자 및 소멸자의 동작 순서를 올바르게 설명한 것은? (3점)
해설)
(53~55) Person 클래스와 Person의 파생클래스인 Student에 대한 다음 질문에 답하라.
class Person {
string name;
public:
Person(const string &n):name(n) {} // 생성자
string getName() const { return name; }
( ㄱ ) void print() const { cout << name; }
};
class Student:( ㄴ ) Person {
string school;
public:
Student(const string &n, const string &s)
(  ㄷ  )  // 생성자
string getSchool() const { return school; }
void print() const {
cout << school << "에 다니는 " << getName();
}
};
53Person 클래스의 public 멤버가 Student의 public 멤버로 상속되도록 하기 위해 (ㄴ)에 넣을 내용은? (3점)
해설)
54Student 클래스의 생성자를 선언하기 위해 (ㄷ)에 넣을 적절한 구문은? (3점)
해설)
55다음 문장이 student의 print를 호출하도록 하려면 ㈀에 어떤 단어를 넣어야 하는가? (3점)
Person *p = new Student("김철수", "방송대");
p->print();
해설)
56추상클래스와 상세클래스에 대한 올바른 설명은? (4점)
해설)
57다음은 템플릿 매개변수에 지정된 자료형과 개수에 따라 데이터를 저장하는 클래스 템플릿이다. double형 값을 50개 저장하는 컨테이너 a를 정의하는 올바른 문장은? (2점)
template <class T, int size> class ArrT {
T arr[size];
……
};
해설)
(58~59) 다음 프로그램에 대한 질문에 답하라.
vector<int> a(10);
vector<int>::iterator it;
int i=0;
for (  (ㄱ)  )
*it = i++;
58a에 대한 설명으로 올바른 것은? (3점)
해설)
59a의 선두에서 시작하여 차례로 0부터 9까지의 값이 저장되게 하려고 한다. (ㄱ)에 넣을 적절한 내용은? (2점)
해설)
60다음 중 프로그램 실행 중 예외 발생하였음을 알리기 위해 사용하는 명령은? (3점)
해설)
문제답안
4214312431342141334221432

댓글