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

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

by GO, EUNJUNG / ΛΙΙΛ™ 2024. 9. 6.
0-썸네일-C++프로그래밍-기말-18-2-1
0-썸네일-C++프로그래밍-기말-18-2-1
2018 학년도  2 학기  1 학년  25 문항
C++프로그래밍
시험종류   :기말시험
출제위원   :방송대 이병래
출제범위   :교재 3~8장 (해당 멀티미디어강의 포함)
자료출처   :한국방송통신대학교
웹앱제작   :올에이클래스 김현수
(36~37) 다음 함수 AddT는 시간과 분 단위로 표현된 구조체인 TimeRec의 인수를 t1과 t2에 받아 그 합을 t1에 해당되는 실매개변수에 저장하는 함수이다. 다음 질문에 답하라.
struct TimeRec { int hours, minutes; };
( ㄱ ) AddT(( ㄴ ) t1, ( ㄷ ) t2) {
t1.minutes += t2.minutes;
t1.hours += t2.hours + t1.minutes/60;
t1.minutes %= 60;
}
36㈀에 넣을 적절한 단어는? (2점)
해설)
37㈁과 ㈂에 넣을 적절한 내용은? (3점)
해설)
38다음 중 inline 함수에 대한 설명으로 옳은 것은? (2점)
해설)
39다음과 같이 함수가 정의되어 있을 때 이 함수를 다중정의한 것으로 올바르지 않은 것은? (3점)
int f(int x);
해설)
40다음과 같이 선언된 함수에 대한 ㈀ 호출명령 및 ㈁ 실제 호출 내용이 올바른 것은? (2점)
void g(int x, int y=0, int z=100);
해설)
(41~44) 다음은 1씩 계수를 하는 Counter 클래스의 선언문이다. count는 value를 1씩 증가시키되, 목표값(target)에 도달하면 true를, 그렇지 않으면 false를 반환한다.
class Counter {
int value, target;
public:
(   ㄱ   )
(   ㄴ   )
void reset(int v=0) ( ㄷ ) { value = v; }
void newTarget(int t) ( ㄹ ) { target = t; }
bool count() ( ㅁ ) { return ++value == target; }
int getValue() ( ㅂ ) { return value; }
};
41다음 중 가시성이 private인 멤버는? (4점)
해설)
42다음과 같이 객체를 만들면 value는 0으로, target은 10으로 초기화되게 하려면 ㈀에 어떤 문장을 넣으면 되는가? (4점)
Counter c(10);
해설)
43㈁에는 복사생성자의 원형을 선언하고자 한다. 다음 중 적절한 표현은? (3점)
해설)
44㈂~㈅ 중 const를 넣을 곳은? (3점)
해설)
(45~47) 다음은 연필의 개수를 12자루 묶음의 타와 낱개로 표현하는 클래스이다. 생성자는 2개의 int값 인수를 받아 타와 낱개의 값을 초기화하는 것과 1개의 int값 인수를 받아 타와 낱개로 변환하여 초기화하는 것이 정의되어 있다고 가정한다.
class Pencils {
int dozens, np;  // 타, 낱개
public:
……  // 생성자(생략)
(   ㄱ   ) {
Pencils p(*this);
if (++np == 12) ++dozens, np = 0;
return p;
}
Pencils operator+(const Pencils& p) const;
(   ㄴ   )
int getDozens() const { return dozens; }
int getNP() const { return np; }
};
456~8행의 내용으로 볼 때 ㈀에 넣을 내용은 무엇인가? (2점)
해설)
46Pencils 객체의 값을 낱개로 환산하여 int형으로 형변환할 수 있도록 형변환 연산자를 정의하고자 한다. ㈁에 넣을 적절한 내용은? (2점)
해설)
47㈀과 ㈁의 내용이 잘 정의되어 있을 때, 다음 중 사용할 수 없는 문장은? 단, p1, p2, p3는 Pencils 객체이다. (2점)
해설)
48다음 중 소멸자 선언에 대한 설명으로 올바른 것은? (3점)
해설)
49클래스의 static 멤버에 대한 설명으로 올바른 것은? (2점)
해설)
50클래스 A가 클래스 B의 기초클래스이다. fA()는 A의 멤버함수이고, fB()는 B의 멤버함수일 때 다음 중 올바른 것은? (3점)
해설)
51다음의 대상을 클래스 계층구조로 표현할 때 나머지 클래스의 기초클래스가 될 수 있는 것은? (4점)
해설)
(52~54) Person 클래스와 이의 파생클래스인 Student 클래스가 다음과 같을 때, 이에 대한 질문에 답하라.
class Person {
string name;
public:
Person(string n) { name = n; }
(  ㄱ  ) void who() const { cout << name ; }
string getName() const { return name; }
};
class Student (  ㄴ  ) {
string school;
public:
Student(string s, string n) ㈂
void who() const
{ cout << school << "학교 "<< getName(); }
};
void f(const Person& p) {
p.who(); cout << " ";
}
void g() {
Student s("대한중", "김한국");
cout << s.getName() << endl;
f(s);
}
52함수 g()의 20행과 같이 Student 객체로 Person의 멤버함수 getName()을 호출할 수 있게 하려면 ㈁에 어떠한 내용이 필요한가? (3점)
해설)
5311행의 생성자에서 n이 name에, s가 school에 저장되게 하려면 ㈂에 어떠한 내용을 넣으면 되는가? (2점)
해설)
5421행을 실행한 결과 '대한중학교 김한국'을 출력하려면 ㈀에 어떠한 내용이 필요한가? (4점)
해설)
55다음 중 순수 가상함수를 포함하는 클래스에 대한 설명으로 올바른 것은? (4점)
해설)
56생성자와 소멸자에 대한 설명이 올바른 것은? (3점)
해설)
57다음은 저장할 값의 자료형과 개수를 템플릿 매개변수로 갖는 클래스 템플릿이다. float형 값을 20개 저장할 수 있는 컨테이너 fArr을 선언하는 올바른 문장은? (2점)
template <class T, int size> class Arr {
T buf[size];
……
};
해설)
58STL의 컨테이너 중 연상 컨테이너에 해당되는 것은? (2점)
해설)
59STL에서 컨테이너에 저장된 원소를 액세스하기 위한 포인터의 역할을 하는 것은 무엇인가? (3점)
해설)
60예외처리 구문에 대한 설명으로 올바른 것은? (3점)
해설)
문제답안
1443112344322331214234132

댓글