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

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

by GO, EUNJUNG / ΛΙΙΛ™ 2024. 9. 6.
0-썸네일-C++프로그래밍-기말-13-2-1
2013 학년도  2 학기  1 학년  25 문항
C++프로그래밍
시험종류   :기말시험
출제위원   :방송대 이병래
출제범위   :교재 3~8장 (해당 멀티미디어강의 포함)
자료출처   :한국방송통신대학교
웹앱제작   :올에이클래스 김현수
C++ 코드 중 문장 이해에 문제가 없는 부분은 ……으로 생략하였음
01다음 중 함수에서 형식 매개변수의 값을 변경하면 실 매개변수의 값도 변경되게 하는 함수의 원형은? (2점)
해설)
02C++에서 함수를 정의하는 방법에 대한 올바른 설명은? (3점)
해설)
03다음 함수의 몸체 블록 (ㄱ)에서 사용할 수 있는 명령은? (2점)
int g(const int arr[], int n) { // n:배열의 크기
(   ㄱ   )
}
해설)
04다음 중 함수 다중정의에 대한 올바른 설명은? (4점)
해설)
05다음 함수에 대한 설명이 올바른 것은? (2점)
int& h(int a, int b=10, int c=20);
해설)
(6~9) 최댓값이 정해진 계수기 객체를 만들기 위한 클래스인 Counter의 선언문에 대한 질문에 답하라.
class CounterM {
const int maxValue;
int value;
( ㄱ ):
( ㄴ ) (int mVal):maxValue(mVal+1), value(0) { }
void reset(){ value = 0; }
void count(){ value = (value + 1) % maxValue; }
int getValue()const { return value; }
};
06멤버함수들을 클래스 멤버가 아닌 함수에서 사용할 수 있도록 하기 위해 (ㄱ)에 넣을 단어는? (3점)
해설)
07생성자를 선언하기 위해 (ㄴ)에 넣을 내용은? (3점)
해설)
08다음 중 CounterM 클래스의 객체를 만드는 문장으로 적절한 것은? (4점)
해설)
09함수 g의 몸체 블록 (ㄷ)에서 사용할 수 있는 문장은? (2점)
int g(const CounterM& c) {
(   ㄷ   )
}
해설)
10다음 중 ClassA라는 클래스의 소멸자의 머리에 해당되는 것으로 적절한 것은 무엇인가? (3점)
해설)
(11~12) 다음 클래스 선언문에 대한 질문에 답하라.
class ClassB {
int a;
static int b;
public:
……
int mf(int x);
static int smf();
};
11이 클래스의 데이터 멤버에 대한 올바른 설명은? (2점)
해설)
12멤버함수 smf()에서 사용할 수 있는 명령은? (2점)
해설)
(13~15) 다음 클래스 선언문에 대한 질문에 답하라.
<IntClass.h>

class IntClass {
int a;
public:
(  ㄱ  )
(  ㄴ  );
(  ㄷ  )
};
<IntClass.cpp>

#include "IntClass.h"
(  ㄹ  )
{
--a;
return *this;
}
13int형 값을 대입하는 = 연산자를 다중정의하기 위해 (ㄱ)에 넣을 적절한 문장은? (2점)
해설)
14(ㄴ)에는 전위 표기법 -- 연산자의 원형이 선언되어 있다. 이 연산자를 정의하기 위해 (ㄹ)에 넣을 내용은? (2점)
해설)
15(ㄷ)에는 IntClass의 객체를 int형으로 형변환하는 연산자를 정의하려고 한다. 다음 중 적절한 것은? (2점)
해설)
(16~18) 사람을 나타내는 Person 클래스와 이로부터 public으로 상속받는 파생 클래스인 운동선수 클래스 Athlete의 선언문에 대한 질문에 답하라.
class Person {
string name;
public:
Person(string n):
name(n) { }
string getName()const
{ return name; }
void print()const
{ cout << name; }
};
class (  ㄱ  ) {
string team;
public:
(  ㄴ  )
string getTeam()const
{ return team; }
void print()const {
cout << team << "팀 ";
Person::print();
}
};
int main(){
Person *p = new Athlete("김철수", "승리");
(  a  )
}
16Person의 파생 클래스인 Athlete을 선언하기 위해 (ㄱ)에 넣을 내용은? (3점)
해설)
17(ㄴ)에 넣을 Athlete의 생성자를 올바르게 작성한 것은? (3점)
해설)
18main 함수의 (a)에서 사용할 수 있는 문장은? (2점)
해설)
19다음 중 클래스 계층구조를 설계할 경우 나머지 클래스의 기초 클래스가 될 수 있는 것은? (3점)
해설)
20기초 클래스와 파생 클래스의 소멸자에 대하여 올바르게 설명한 것은? (4점)
해설)
21추상 클래스와 상세 클래스에 대한 다음 설명 중 옳은 것을 모두 나열한 것은? (4점)
(ㄱ) 추상 클래스는 객체를 직접 정의할 수 없다.
(ㄴ) 추상 클래스는 순수 가상함수를 포함하고 있다.
(ㄷ) 상세 클래스는 객체를 정의할 수 있다.
(ㄹ) 기초 클래스에서 상속 받은 순수 가상함수를 모두 재정의하지 않았더라도 파생 클래스에서 순수 가상함수를 선언하지 않았다면 그 클래스는 상세 클래스이다.
해설)
22STL의 구성 요소 중 반복자(iterator)의 역할은 무엇인가? (3점)
해설)
23다음 중 STL에서 제공하는 컨테이너 중 vector에 대한 올바른 설명은 무엇인가? (3점)
해설)
(24~25) 다음 예외처리 구문에 대한 질문에 답하라.
try {
(  ㄱ  )
}
catch (int a) {
(  ㄴ  )
}
catch (const char* str) {
(  ㄷ  )
}
catch (...) {
(  ㄹ  )
}
24(ㄱ)은 어떠한 내용을 작성하는 영역인가? (4점)
해설)
25(ㄱ)에서 실행 중 throw 10; 이라는 명령을 실행했을 때 프로그램은 어떻게 동작하는가? (3점)
해설)
문제답안
2141334142142312423431312

댓글