C++프로그래밍
(1970-01-01 기출문제 - 전체보기)
총 175문제
답안 완료: 0문제
C++프로그래밍
1. C++ 코드 중 문장 이해에 문제가 없는 부분은 ……으로 생략하였음 다음 중 함수에서 형식 매개변수의 값을 변경하면 실 매개변수의 값도 변경되게 하는 함수의 원형은? (2점)
C++프로그래밍
1. (1~3) 크기가 n인 int형 배열에 저장된 값들 중 최솟값과 최댓값을 구하는 다음 함수에 대한 질문에 답하라. ( ㄱ ) minmax (( ㄴ ), ( ㄷ ), int n) { min = max = arr[0]; for (int i=1 ; i < n ; i++) if (arr[i] > max) max = arr[i]; else if (arr[i] < min) min = arr[i]; } (ㄱ)에 넣을 적절한 단어는? (2점)
C++프로그래밍
1. (1~2) 다음은 함수 호출 문장의 int형 실 매개변수의 값을 서로 바꾸는 함수 swapValues이다. 다음 질문에 답하라. ( ㄱ ) swapValues ( ㄴ ) { int tmp = x; x = y; y = tmp; } (ㄱ)에 넣을 적절한 단어는? (2점)
C++프로그래밍
1. (1~3) 크기가 n인 int형 배열에 저장된 값들 중 최솟값과 최댓값을 구하는 다음 함수에 대한 질문에 답하라. ( ㄱ ) minmax(( ㄴ ), ( ㄷ ), int n) { min = max = arr[0]; for (int i=1 ; i < n ; i++) if (arr[i] > max) max = arr[i]; else if (arr[i] < min) min = arr[i]; } (ㄱ)에 넣을 적절한 단어는? (2점)
C++프로그래밍
1. (1~2) 배열에 저장된 값의 최솟값을 찾는 다음 함수에 대한 질문에 답하라. int findMax ( ( ㄱ ) int arr[], int n) { int max = arr[0]; for (int i=1; i<n; i++) if (max < arr[i]) max = arr[i]; ( ㄴ ); } 이 함수에서 arr에 저장된 값을 변경하지 않도록 하기 위해 (ㄱ)에 넣을 적절한 단어는? (2점)
C++프로그래밍
1. (1~2) 다음 함수 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; } ㈀에 넣을 적절한 단어는? (2점)
C++프로그래밍
1. (1~4) 데이터의 평균을 구하는 다음 함수에 대한 질문에 답하라. double average(const int arr[], int n) { int sum = 0; for (int i=0 ; i < n ; i++) sum += arr[i]; ( ㄱ ) } 이 함수의 몸체 블록에서 사용할 수 없는 문장은? (2점)
C++프로그래밍
2. C++ 코드 중 문장 이해에 문제가 없는 부분은 ……으로 생략하였음 C++에서 함수를 정의하는 방법에 대한 올바른 설명은? (3점)
C++프로그래밍
2. (1~3) 크기가 n인 int형 배열에 저장된 값들 중 최솟값과 최댓값을 구하는 다음 함수에 대한 질문에 답하라. ( ㄱ ) minmax (( ㄴ ), ( ㄷ ), int n) { min = max = arr[0]; for (int i=1 ; i < n ; i++) if (arr[i] > max) max = arr[i]; else if (arr[i] < min) min = arr[i]; } 배열을 arr이라는 형식 매개변수를 통해 받고자 한다. 함수 안에서 arr에 전달되는 실 매개변수의 값을 변경할 수 없도록 하려면 (ㄴ)에 어떠한 내용이 필요한가? (2점)
C++프로그래밍
2. (1~2) 다음은 함수 호출 문장의 int형 실 매개변수의 값을 서로 바꾸는 함수 swapValues이다. 다음 질문에 답하라. ( ㄱ ) swapValues ( ㄴ ) { int tmp = x; x = y; y = tmp; } ㈁에 작성할 형식 매개변수 선언문으로 적절한 것은? (2점)
C++프로그래밍
2. (1~3) 크기가 n인 int형 배열에 저장된 값들 중 최솟값과 최댓값을 구하는 다음 함수에 대한 질문에 답하라. ( ㄱ ) minmax(( ㄴ ), ( ㄷ ), int n) { min = max = arr[0]; for (int i=1 ; i < n ; i++) if (arr[i] > max) max = arr[i]; else if (arr[i] < min) min = arr[i]; } 배열을 arr이라는 형식 매개변수를 통해 받고자 한다. 함수 안에서 arr에 전달되는 실 매개변수의 값을 변경할 수 없도록 하려면 (ㄴ)에 어떠한 내용이 필요한가? (2점)
C++프로그래밍
2. (1~2) 배열에 저장된 값의 최솟값을 찾는 다음 함수에 대한 질문에 답하라. int findMax ( ( ㄱ ) int arr[], int n) { int max = arr[0]; for (int i=1; i<n; i++) if (max < arr[i]) max = arr[i]; ( ㄴ ); } 이 함수를 완성하기 위해 (ㄴ)에 넣을 적절한 문장은? (2점)
C++프로그래밍
2. (1~2) 다음 함수 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; } ㈁과 ㈂에 넣을 적절한 내용은? (3점)
C++프로그래밍
2. (1~4) 데이터의 평균을 구하는 다음 함수에 대한 질문에 답하라. double average(const int arr[], int n) { int sum = 0; for (int i=0 ; i < n ; i++) sum += arr[i]; ( ㄱ ) } 다음 중 (ㄱ)에 넣을 가장 적절한 문장은? (2점)
C++프로그래밍
3. C++ 코드 중 문장 이해에 문제가 없는 부분은 ……으로 생략하였음 다음 함수의 몸체 블록 (ㄱ)에서 사용할 수 있는 명령은? (2점) int g(const int arr[], int n) { // n:배열의 크기 ( ㄱ ) }
C++프로그래밍
3. (1~3) 크기가 n인 int형 배열에 저장된 값들 중 최솟값과 최댓값을 구하는 다음 함수에 대한 질문에 답하라. ( ㄱ ) minmax (( ㄴ ), ( ㄷ ), int n) { min = max = arr[0]; for (int i=1 ; i < n ; i++) if (arr[i] > max) max = arr[i]; else if (arr[i] < min) min = arr[i]; } 이 함수에서 구한 최솟값과 최댓값이 실 매개변수에 저장되도록 하려면 (ㄷ)에 어떠한 내용이 필요한가? (3점)
C++프로그래밍
3. 함수의 디폴트 인수에 대한 올바른 설명은? (2점)
C++프로그래밍
3. (1~3) 크기가 n인 int형 배열에 저장된 값들 중 최솟값과 최댓값을 구하는 다음 함수에 대한 질문에 답하라. ( ㄱ ) minmax(( ㄴ ), ( ㄷ ), int n) { min = max = arr[0]; for (int i=1 ; i < n ; i++) if (arr[i] > max) max = arr[i]; else if (arr[i] < min) min = arr[i]; } 이 함수에서 구한 최솟값과 최댓값이 실 매개변수에 저장되도록 하려면 (ㄷ)에 어떠한 내용이 필요한가? (3점)
C++프로그래밍
3. 함수 f의 원형이 다음과 같을 때 이 함수에 대한 올바른 설명은? (2점) void f(int &x, int y, int z=100);
C++프로그래밍
3. 다음 중 inline 함수에 대한 설명으로 옳은 것은? (2점)
C++프로그래밍
3. (1~4) 데이터의 평균을 구하는 다음 함수에 대한 질문에 답하라. double average(const int arr[], int n) { int sum = 0; for (int i=0 ; i < n ; i++) sum += arr[i]; ( ㄱ ) } 이 함수에 대한 원형을 올바르게 작성한 것은? (2점)
C++프로그래밍
4. C++ 코드 중 문장 이해에 문제가 없는 부분은 ……으로 생략하였음 다음 중 함수 다중정의에 대한 올바른 설명은? (4점)
C++프로그래밍
4. 다음 중 C++에서 함수를 정의하고 호출하는 것과 관련하여 올바르게 설명한 것은? (4점)
C++프로그래밍
4. 다음과 같이 원형이 선언된 함수에 대한 올바른 설명은? (2점) void func(const Coord2D& c, int x, int y=10);
C++프로그래밍
4. 다음 중 C++에서 함수를 정의하고 호출하는 것과 관련하여 올바르게 설명한 것은? (4점)
C++프로그래밍
4. 다음 중 함수 다중정의에 대한 올바른 설명은? (4점)
C++프로그래밍
4. 다음과 같이 함수가 정의되어 있을 때 이 함수를 다중정의한 것으로 올바르지 않은 것은? (3점) int f(int x);
C++프로그래밍
4. (1~4) 데이터의 평균을 구하는 다음 함수에 대한 질문에 답하라. double average(const int arr[], int n) { int sum = 0; for (int i=0 ; i < n ; i++) sum += arr[i]; ( ㄱ ) } 이 함수가 정의되어 있을 때, 다중정의 할 수 있는 함수의 원형으로 적절하지 않은 것은? (3점)
C++프로그래밍
5. C++ 코드 중 문장 이해에 문제가 없는 부분은 ……으로 생략하였음 다음 함수에 대한 설명이 올바른 것은? (2점) int& h(int a, int b=10, int c=20);
C++프로그래밍
5. 다중정의된 함수들 중에서 어느 함수를 호출하는가를 결정하는 것은 다음 중 무엇인가? (3점)
C++프로그래밍
5. 다음 함수의 원형 ㈀∼㈃ 중 아래 문장 ⒜에 의해 호출되는 함수는? (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); // ⒜
C++프로그래밍
5. 다중정의된 함수들 중에서 어느 함수를 호출하는가를 결정하는 것은 다음 중 무엇인가? (3점)
C++프로그래밍
5. (5~8) 원을 나타내는 다음 클래스에 대한 질문에 답하라. class Circle { ( ㄱ ):// Circle의 멤버함수에서만 사용 가능한 멤버 double cs, cy, radius; // 중심 x, y 좌표 및 반경 ( ㄴ ):// Circle 외부의 함수에서도 사용할 수 있는 멤버 ( ㄷ ) void scale(double s) ( a ) { radius *= s; } double area() ( b ) { // 면적 계산 return radius * radius * 3.14159; } double circumference() ( c ) { // 원주 길이 계산 return 2.0 * 3.14159 * radius; } }; int main() { // 중심좌표 (1, 2), 반경 5인 Circle 객체 c 선언 Circle c(1, 2, 5); ( ㄹ ) } cx, cy, radius는 소속 클래스의 멤버함수에서만 사용할 수 있도록 하려고 하고, scale, area, circumference 등은 클래스 외부에서도 자유롭게 사용할 수 있게 하려고 한다. (ㄱ)과 (ㄴ)에 넣을 적절한 단어는? (3점)
C++프로그래밍
5. 다음과 같이 선언된 함수에 대한 ㈀ 호출명령 및 ㈁ 실제 호출 내용이 올바른 것은? (2점) void g(int x, int y=0, int z=100);
C++프로그래밍
5. 다음 중 함수 호출 위치에 함수의 처리 문장을 삽입하여 번역하도록 요청하기 위해 함수 선언문에 사용하는 단어는? (3점)
C++프로그래밍
6. (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; } }; 멤버함수들을 클래스 멤버가 아닌 함수에서 사용할 수 있도록 하기 위해 (ㄱ)에 넣을 단어는? (3점)
C++프로그래밍
6. (6~8) 다음 Counter 클래스의 선언문에 대한 질문에 답하라. class Counter { int value; public: ( ㄱ ) void reset() ( ㄴ ) { value = 0; } void count() ( ㄷ ) { ++value; } int getValue() ( ㄹ ) { return value; } }; 데이터멤버 value의 가시성은 무엇인가? (3점)
C++프로그래밍
6. (6~8) 다음은 계수를 지시하면 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; } }; ㈀에 넣을 DnCounter 클래스의 생성자 선언 문장으로 올바른 것은? (4점)
C++프로그래밍
6. (6~8) 다음 Counter 클래스의 선언문에 대한 질문에 답하라. class Counter { int value; public: ( ㄱ ) void reset() ( ㄴ ) { value = 0; } void count() ( ㄷ ) { ++value; } int getValue() ( ㄹ ) { return value; } }; 데이터멤버 value의 가시성은 무엇인가? (3점)
C++프로그래밍
6. (5~8) 원을 나타내는 다음 클래스에 대한 질문에 답하라. class Circle { ( ㄱ ):// Circle의 멤버함수에서만 사용 가능한 멤버 double cs, cy, radius; // 중심 x, y 좌표 및 반경 ( ㄴ ):// Circle 외부의 함수에서도 사용할 수 있는 멤버 ( ㄷ ) void scale(double s) ( a ) { radius *= s; } double area() ( b ) { // 면적 계산 return radius * radius * 3.14159; } double circumference() ( c ) { // 원주 길이 계산 return 2.0 * 3.14159 * radius; } }; int main() { // 중심좌표 (1, 2), 반경 5인 Circle 객체 c 선언 Circle c(1, 2, 5); ( ㄹ ) } main함수의 c와 같이 Circle 클래스의 생성자를 선언하기 위해 (ㄷ)에 넣을 적절한 선언문은? (4점)
C++프로그래밍
6. (6~9) 다음은 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; } }; 다음 중 가시성이 private인 멤버는? (4점)
C++프로그래밍
6. (6~9) 1씩 감소하는 계수를 할 수 있는 하향 계수기 클래스인 DnCounter에 대한 질문에 답하라. class DnCounter { int value; public: DnCounter(int v) ( ㄱ ) // 생성자 void reset(int v) { value = v; } void count() { --value; } int getValue() const { return value; } }; value의 가시성은 무엇인가? (4점)
C++프로그래밍
7. (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; } }; 생성자를 선언하기 위해 (ㄴ)에 넣을 내용은? (3점)
C++프로그래밍
7. (6~8) 다음 Counter 클래스의 선언문에 대한 질문에 답하라. class Counter { int value; public: ( ㄱ ) void reset() ( ㄴ ) { value = 0; } void count() ( ㄷ ) { ++value; } int getValue() ( ㄹ ) { return value; } }; (ㄱ)에 생성자를 선언하고자 한다. value의 값을 0으로 초기화하도록 올바르게 작성한 문장은? (4점)
C++프로그래밍
7. (6~8) 다음은 계수를 지시하면 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 클래스의 객체를 선언하는 올바른 문장은? (3점)
C++프로그래밍
7. (6~8) 다음 Counter 클래스의 선언문에 대한 질문에 답하라. class Counter { int value; public: ( ㄱ ) void reset() ( ㄴ ) { value = 0; } void count() ( ㄷ ) { ++value; } int getValue() ( ㄹ ) { return value; } }; (ㄱ)에 생성자를 선언하고자 한다. value의 값을 0으로 초기화하도록 올바르게 작성한 문장은? (4점)
C++프로그래밍
7. (5~8) 원을 나타내는 다음 클래스에 대한 질문에 답하라. class Circle { ( ㄱ ):// Circle의 멤버함수에서만 사용 가능한 멤버 double cs, cy, radius; // 중심 x, y 좌표 및 반경 ( ㄴ ):// Circle 외부의 함수에서도 사용할 수 있는 멤버 ( ㄷ ) void scale(double s) ( a ) { radius *= s; } double area() ( b ) { // 면적 계산 return radius * radius * 3.14159; } double circumference() ( c ) { // 원주 길이 계산 return 2.0 * 3.14159 * radius; } }; int main() { // 중심좌표 (1, 2), 반경 5인 Circle 객체 c 선언 Circle c(1, 2, 5); ( ㄹ ) } (a)~(c) 중 'const'를 넣을 곳을 모두 나열한 것은? (2점)
C++프로그래밍
7. (6~9) 다음은 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; } }; 다음과 같이 객체를 만들면 value는 0으로, target은 10으로 초기화되게 하려면 ㈀에 어떤 문장을 넣으면 되는가? (4점) Counter c(10);
C++프로그래밍
7. (6~9) 1씩 감소하는 계수를 할 수 있는 하향 계수기 클래스인 DnCounter에 대한 질문에 답하라. class DnCounter { int value; public: DnCounter(int v) ( ㄱ ) // 생성자 void reset(int v) { value = v; } void count() { --value; } int getValue() const { return value; } }; 생성자에서 형식 매개변수 v에 전달된 값으로 데이터멤버 value를 초기화하기 위해 (ㄱ)에 넣을 내용은? (2점)
C++프로그래밍
8. (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; } }; 다음 중 CounterM 클래스의 객체를 만드는 문장으로 적절한 것은? (4점)
C++프로그래밍
8. (6~8) 다음 Counter 클래스의 선언문에 대한 질문에 답하라. class Counter { int value; public: ( ㄱ ) void reset() ( ㄴ ) { value = 0; } void count() ( ㄷ ) { ++value; } int getValue() ( ㄹ ) { return value; } }; (ㄴ)~(ㄹ) 중 const를 넣는 것이 바람직한 곳은? (2점)
C++프로그래밍
8. (6~8) 다음은 계수를 지시하면 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; } }; 다음 중 아래의 함수 g의 몸체 블록 ㈎에서 사용할 수 있는 문장은 무엇인가? (가시성과 const에 유의하라.) (2점) void g(const DnCounter& cnt) { ( 가 ) }
C++프로그래밍
8. (6~8) 다음 Counter 클래스의 선언문에 대한 질문에 답하라. class Counter { int value; public: ( ㄱ ) void reset() ( ㄴ ) { value = 0; } void count() ( ㄷ ) { ++value; } int getValue() ( ㄹ ) { return value; } }; (ㄴ)~(ㄹ) 중 const를 넣는 것이 바람직한 곳은? (2점)
C++프로그래밍
8. (5~8) 원을 나타내는 다음 클래스에 대한 질문에 답하라. class Circle { ( ㄱ ):// Circle의 멤버함수에서만 사용 가능한 멤버 double cs, cy, radius; // 중심 x, y 좌표 및 반경 ( ㄴ ):// Circle 외부의 함수에서도 사용할 수 있는 멤버 ( ㄷ ) void scale(double s) ( a ) { radius *= s; } double area() ( b ) { // 면적 계산 return radius * radius * 3.14159; } double circumference() ( c ) { // 원주 길이 계산 return 2.0 * 3.14159 * radius; } }; int main() { // 중심좌표 (1, 2), 반경 5인 Circle 객체 c 선언 Circle c(1, 2, 5); ( ㄹ ) } 다음 중 (ㄹ)에서 사용할 수 있는 문장은? (4점)
C++프로그래밍
8. (6~9) 다음은 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; } }; ㈁에는 복사생성자의 원형을 선언하고자 한다. 다음 중 적절한 표현은? (3점)
C++프로그래밍
8. (6~9) 1씩 감소하는 계수를 할 수 있는 하향 계수기 클래스인 DnCounter에 대한 질문에 답하라. class DnCounter { int value; public: DnCounter(int v) ( ㄱ ) // 생성자 void reset(int v) { value = v; } void count() { --value; } int getValue() const { return value; } }; 다음 중 DnCounter 클래스의 객체를 선언하는 문장으로 올바른 것은? (3점)
C++프로그래밍
9. (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; } }; 함수 g의 몸체 블록 (ㄷ)에서 사용할 수 있는 문장은? (2점) int g(const CounterM& c) { ( ㄷ ) }
C++프로그래밍
9. 다음 중 소멸자에 대해 적절히 설명하고 있는 문장은? (4점)
C++프로그래밍
9. 다음 중 생성자에 대한 설명으로 올바른 것은? (4점)
C++프로그래밍
9. 다음 중 소멸자에 대해 적절히 설명하고 있는 문장은? (4점)
C++프로그래밍
9. 다음 중 소멸자에 대한 설명으로 적절한 것은? (3점)
C++프로그래밍
9. (6~9) 다음은 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; } }; ㈂~㈅ 중 const를 넣을 곳은? (3점)
C++프로그래밍
9. (6~9) 1씩 감소하는 계수를 할 수 있는 하향 계수기 클래스인 DnCounter에 대한 질문에 답하라. class DnCounter { int value; public: DnCounter(int v) ( ㄱ ) // 생성자 void reset(int v) { value = v; } void count() { --value; } int getValue() const { return value; } }; 다음 함수 안에서 사용할 수 있는 문장은 무엇인가? (2점) void f(const DnCounter& c) { …… }
C++프로그래밍
10. 다음 중 ClassA라는 클래스의 소멸자의 머리에 해당되는 것으로 적절한 것은 무엇인가? (3점)
C++프로그래밍
10. (10~11) 다음 클래스 선언문에 대한 질문에 답하라. class Copycat { char *name; public: Copycat(const char *n) { name = new char[strlen(n)+1]; strcpy(name, n); } ( ㄱ ) { name = new char[strlen(cc.name)+1]; strcpy(name, cc.name); } ( ㄴ ) …… }; 복사 생성자를 선언하기 위해 (ㄱ)에 필요한 내용은? (3점)
C++프로그래밍
10. 다음 중 소멸자에 대한 설명으로 올바른 것은? (4점)
C++프로그래밍
10. (10~11) 다음 클래스 선언문에 대한 질문에 답하라. class Copycat { char *name; public: Copycat(const char *n) { name = new char[strlen(n)+1]; strcpy(name, n); } ( ㄱ ) { name = new char[strlen(cc.name)+1]; strcpy(name, cc.name); } ( ㄴ ) …… }; 복사 생성자를 선언하기 위해 (ㄱ)에 필요한 내용은? (3점)
C++프로그래밍
10. ClassA라는 클래스에서 복사생성자를 선언할 때 생성자의 원형으로 올바른 것은? (2점)
C++프로그래밍
10. (10~12) 다음은 연필의 개수를 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; } }; 6~8행의 내용으로 볼 때 ㈀에 넣을 내용은 무엇인가? (2점)
C++프로그래밍
10. 다음 중 소멸자에 대하여 설명한 문장으로 옳은 것은? (4점)
C++프로그래밍
11. (11~12) 다음 클래스 선언문에 대한 질문에 답하라. class ClassB { int a; static int b; public: …… int mf(int x); static int smf(); }; 이 클래스의 데이터 멤버에 대한 올바른 설명은? (2점)
C++프로그래밍
11. (10~11) 다음 클래스 선언문에 대한 질문에 답하라. class Copycat { char *name; public: Copycat(const char *n) { name = new char[strlen(n)+1]; strcpy(name, n); } ( ㄱ ) { name = new char[strlen(cc.name)+1]; strcpy(name, cc.name); } ( ㄴ ) …… }; (ㄴ)에 넣을 소멸자를 적절하게 작성한 것은? (3점)
C++프로그래밍
11. (11~13) 다음 클래스에 대한 질문에 답하라. 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; 클래스 ClassA의 멤버를 정의하기 위해 ㈀에 필요한 내용은 무엇인가? (3점)
C++프로그래밍
11. (10~11) 다음 클래스 선언문에 대한 질문에 답하라. class Copycat { char *name; public: Copycat(const char *n) { name = new char[strlen(n)+1]; strcpy(name, n); } ( ㄱ ) { name = new char[strlen(cc.name)+1]; strcpy(name, cc.name); } ( ㄴ ) …… }; (ㄴ)에 넣을 소멸자를 적절하게 작성한 것은? (3점)
C++프로그래밍
11. (11~13) 다음 클래스에 대한 질문에 답하라. class ClassB { …… ( ㄱ ); ClassB opeerator + (const ClassB& b) const; // (ㄴ) }; ClassB ( ㄷ ) operator + (const ClassB& b) const { ( ㄹ ) } ClassB에 전위표기 ++ 연산자를 다중정의하려고 한다. 다음 중 (ㄱ)에 넣을 적절한 원형은? (2점)
C++프로그래밍
11. (10~12) 다음은 연필의 개수를 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; } }; Pencils 객체의 값을 낱개로 환산하여 int형으로 형변환할 수 있도록 형변환 연산자를 정의하고자 한다. ㈁에 넣을 적절한 내용은? (2점)
C++프로그래밍
11. ClassA라는 클래스의 이동 생성자를 선언하기 위한 머리부를 올바르게 작성한 것은? (3점)
C++프로그래밍
12. (11~12) 다음 클래스 선언문에 대한 질문에 답하라. class ClassB { int a; static int b; public: …… int mf(int x); static int smf(); }; 멤버함수 smf()에서 사용할 수 있는 명령은? (2점)
C++프로그래밍
12. a가 ClassA의 객체이고 b가 ClassB의 객체일 때 다음 수식을 사용할 수 있게 하려면 어느 클래스에서 += 연산자를 다중정의 해야 하는가? (2점) a += b;
C++프로그래밍
12. (11~13) 다음 클래스에 대한 질문에 답하라. 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; 데이터 멤버 c에 대한 올바른 설명은? (3점)
C++프로그래밍
12. a가 ClassA의 객체이고 b가 ClassB의 객체일 때 다음 수식을 사용할 수 있게 하려면 어느 클래스에서 += 연산자를 다중정의 해야 하는가? (2점) a += b;
C++프로그래밍
12. (11~13) 다음 클래스에 대한 질문에 답하라. class ClassB { …… ( ㄱ ); ClassB opeerator + (const ClassB& b) const; // (ㄴ) }; ClassB ( ㄷ ) operator + (const ClassB& b) const { ( ㄹ ) } (ㄴ)의 + 연산자의 다중정의를 클래스 선언문 외부에 작성하려고 할 때 (ㄷ)에 넣을 적절한 내용은? (3점)
C++프로그래밍
12. (10~12) 다음은 연필의 개수를 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; } }; ㈀과 ㈁의 내용이 잘 정의되어 있을 때, 다음 중 사용할 수 없는 문장은? 단, p1, p2, p3는 Pencils 객체이다. (2점)
C++프로그래밍
12. 다음 중 클래스의 static 멤버에 대한 설명으로 올바른 것은? (2점)
C++프로그래밍
13. (13~15) 다음 클래스 선언문에 대한 질문에 답하라. <IntClass.h> class IntClass { int a; public: ( ㄱ ) ( ㄴ ); ( ㄷ ) }; <IntClass.cpp> #include "IntClass.h" ( ㄹ ) { --a; return *this; } int형 값을 대입하는 = 연산자를 다중정의하기 위해 (ㄱ)에 넣을 적절한 문장은? (2점)
C++프로그래밍
13. ClassC의 선언문 안에서 후위표기 ++ 연산자를 다중정의하고자 한다. 원형을 올바르게 작성한 것은? (2점)
C++프로그래밍
13. (11~13) 다음 클래스에 대한 질문에 답하라. 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; 다음 중 static 멤버함수의 몸체인 ㈁에 포함될 수 있는 문장은? (2점)
C++프로그래밍
13. ClassC의 선언문 안에서 후위표기 ++ 연산자를 다중정의하고자 한다. 원형을 올바르게 작성한 것은? (2점)
C++프로그래밍
13. (11~13) 다음 클래스에 대한 질문에 답하라. class ClassB { …… ( ㄱ ); ClassB opeerator + (const ClassB& b) const; // (ㄴ) }; ClassB ( ㄷ ) operator + (const ClassB& b) const { ( ㄹ ) } (ㄹ)의 내용을 작성하는 것과 관련한 설명으로 올바른 것은? (2점)
C++프로그래밍
13. 다음 중 소멸자 선언에 대한 설명으로 올바른 것은? (3점)
C++프로그래밍
13. (13~14) 다음 클래스에 대한 질문에 답하라. class IClass { int a; public: IClass(int n = 0) { a = n; } IClass& operator ++ () { ++a; return *this; } ( ㄱ ) const { // + 연산자 return IClass(a + i.a); } int getValue() const { return a; } ( ㄴ ) ostream& operator<<(ostream&, const IClass&); }; ostream& operator << (ostream& os, const IClass& i) { return os << i.a; // (ㄷ) } IClass 객체 사이의 덧셈을 하는 이항 연산자 +를 다중정의하기 위해 (ㄱ)에 넣을 적절한 문장은? (3점)
C++프로그래밍
14. (13~15) 다음 클래스 선언문에 대한 질문에 답하라. <IntClass.h> class IntClass { int a; public: ( ㄱ ) ( ㄴ ); ( ㄷ ) }; <IntClass.cpp> #include "IntClass.h" ( ㄹ ) { --a; return *this; } (ㄴ)에는 전위 표기법 -- 연산자의 원형이 선언되어 있다. 이 연산자를 정의하기 위해 (ㄹ)에 넣을 내용은? (2점)
C++프로그래밍
14. (14~15) static 멤버를 포함하는 다음 클래스 선언문에 대한 질문에 답하라. class SObj { int x, id; double y; static int nID; public: SObj(int a, double b):x(a), y(b) { id = ++ nID; } void display() const { cout << "ID:" << id << " x, y:" << x << ", " << y << endl; } static int f() { ( ㄱ ) } }; ( ㄴ ) 이 클래스 선언을 완성하기 위해 (ㄴ)에 필요한 내용은? (2점)
C++프로그래밍
14. (14~15) 다음은 연필의 개수를 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; } 다음 중 (ㄱ)에 넣을 적절한 구문은 무엇인가? (2점)
C++프로그래밍
14. (14~15) static 멤버를 포함하는 다음 클래스 선언문에 대한 질문에 답하라. class SObj { int x, id; double y; static int nID; public: SObj(int a, double b):x(a), y(b) { id = ++ nID; } void display() const { cout << "ID:" << id << " x, y:" << x << ", " << y << endl; } static int f() { ( ㄱ ) } }; ( ㄴ ) 이 클래스 선언을 완성하기 위해 (ㄴ)에 필요한 내용은? (2점)
C++프로그래밍
14. Class2의 private 멤버를 Class1의 멤버함수에서 액세스할 수 있도록 허용하려고 한다. (ㄱ)에 넣을 적절한 단어는? (3점) class Class2 { ( ㄱ ) class Class1; …… };
C++프로그래밍
14. 클래스의 static 멤버에 대한 설명으로 올바른 것은? (2점)
C++프로그래밍
14. (13~14) 다음 클래스에 대한 질문에 답하라. class IClass { int a; public: IClass(int n = 0) { a = n; } IClass& operator ++ () { ++a; return *this; } ( ㄱ ) const { // + 연산자 return IClass(a + i.a); } int getValue() const { return a; } ( ㄴ ) ostream& operator<<(ostream&, const IClass&); }; ostream& operator << (ostream& os, const IClass& i) { return os << i.a; // (ㄷ) } << 연산자가 IClass의 멤버는 아니지만 (ㄷ)과 같은 문장을 사용할 수 있게 하려면 (ㄴ)에 어떤 단어를 넣어야 하는가? (2점)
C++프로그래밍
15. (13~15) 다음 클래스 선언문에 대한 질문에 답하라. <IntClass.h> class IntClass { int a; public: ( ㄱ ) ( ㄴ ); ( ㄷ ) }; <IntClass.cpp> #include "IntClass.h" ( ㄹ ) { --a; return *this; } (ㄷ)에는 IntClass의 객체를 int형으로 형변환하는 연산자를 정의하려고 한다. 다음 중 적절한 것은? (2점)
C++프로그래밍
15. (14~15) static 멤버를 포함하는 다음 클래스 선언문에 대한 질문에 답하라. class SObj { int x, id; double y; static int nID; public: SObj(int a, double b):x(a), y(b) { id = ++ nID; } void display() const { cout << "ID:" << id << " x, y:" << x << ", " << y << endl; } static int f() { ( ㄱ ) } }; ( ㄴ ) 다음 중 (ㄱ)에서 사용할 경우 문법에 맞는 명령은? (2점)
C++프로그래밍
15. (14~15) 다음은 연필의 개수를 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; } 위 내용만으로 볼 때 다음 중 Pencils 객체 p1과 p2를 대상으로 사용할 수 있는 연산에 해당되지 않는 것은? (2점)
C++프로그래밍
15. (14~15) static 멤버를 포함하는 다음 클래스 선언문에 대한 질문에 답하라. class SObj { int x, id; double y; static int nID; public: SObj(int a, double b):x(a), y(b) { id = ++ nID; } void display() const { cout << "ID:" << id << " x, y:" << x << ", " << y << endl; } static int f() { ( ㄱ ) } }; ( ㄴ ) 다음 중 (ㄱ)에서 사용할 경우 문법에 맞는 명령은? (2점)
C++프로그래밍
15. 클래스의 static 멤버에 대한 설명으로 올바른 것은? (2점)
C++프로그래밍
15. 클래스 A가 클래스 B의 기초클래스이다. fA()는 A의 멤버함수이고, fB()는 B의 멤버함수일 때 다음 중 올바른 것은? (3점)
C++프로그래밍
15. 다음 중 클래스의 상속에 대한 설명으로 올바른 것은? (4점)
C++프로그래밍
16. (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 ) } Person의 파생 클래스인 Athlete을 선언하기 위해 (ㄱ)에 넣을 내용은? (3점)
C++프로그래밍
16. (16~20) 클래스 상속과 관련한 다음 선언문에 대한 질문에 답하시오. (가)에는 기초 클래스의 id를 s1, att를 s2로 초기화하는 문장이, (나)에는 이와 더불어 x를 n으로 초기화하는 문장이 포함된다. (가상함수 사용에 주의하라.) class BClass { ( ㄱ ): string id; public: BClass(const string& s):id(s) {} virtual void action() const { cout << id << endl; } string getID() const { return id; } }; class DClass1:public BClass { string att; public: DClass1(const string& s1, const string& s2) ( 가 ) string getAtt() const { return att; } void action() const { cout << getID() << " " << att << endl; } // (ㄴ) }; class DClass2:public DClass1 { int x; public: DClass2(const string& s1, const string& s2, int n) ( 나 ) void action() const { cout << getID() << " " << getAtt() << " " << x << endl; } }; void f() { DClass1* pDC1 = new DClass2("ab", "cd", 10); BClass* pBC = pDC1; pBC->action(); // (다) pDC1->action(); // (라) …… } (ㄴ)에서 getID()를 호출하는 대신 id를 직접 액세스 할 수 있도록 하려면 (ㄱ)에 어떠한 문구를 넣어야 하는가? (2점)
C++프로그래밍
16. 다음 중 클래스에 대한 설명으로 올바른 것은? (4점)
C++프로그래밍
16. (16~20) 클래스 상속과 관련한 다음 선언문에 대한 질문에 답하시오. (가)에는 기초 클래스의 id를 s1, att를 s2로 초기화하는 문장이, (나)에는 이와 더불어 x를 n으로 초기화하는 문장이 포함된다. (가상함수 사용에 주의하라.) class BClass { ( ㄱ ): string id; public: BClass(const string& s):id(s) {} virtual void action() const { cout << id << endl; } string getID() const { return id; } }; class DClass1:public BClass { string att; public: DClass1(const string& s1, const string& s2) ( 가 ) string getAtt() const { return att; } void action() const { cout << getID() << " " << att << endl; } // ㈁ }; class DClass2:public DClass1 { int x; public: DClass2(const string& s1, const string& s2, int n) ( 나 ) void action() const { cout << getID() << " " << getAtt() << " " << x << endl; } }; void f() { DClass1* pDC1 = new DClass2("ab", "cd", 10); BClass* pBC = pDC1; pBC->action(); // (다) pDC1->action(); // (라) …… } (ㄴ)에서 getID()를 호출하는 대신 id를 직접 액세스 할 수 있도록 하려면 (ㄱ)에 어떠한 문구를 넣어야 하는가? (2점)
C++프로그래밍
16. (16~19) 클래스 Person과 Person의 파생 클래스인 Athlete에 대한 질문에 답하라. class Person { ( ㄱ ) string name; public: Person(const string& n):name(n) {} string getName() const { return name; } ( ㄴ ) void print() const { cout << name; } }; int main() { Person *pP1 = new Person("홍길동"); Athlete *pA = new Athlete("박철수", "승리구단"); Person *pP2 = pA; pP1->print(); cout << " "; pA->print(); cout << " "; pP2->print(); cout << endl; delete pP1; delete pP2; return 0; } Person의 public 멤버가 Athlete의 public 멤버로 상속되도록 하기 위해 (ㄷ)에 넣을 내용은? (4점)
C++프로그래밍
16. 다음의 대상을 클래스 계층구조로 표현할 때 나머지 클래스의 기초클래스가 될 수 있는 것은? (4점)
C++프로그래밍
16. (16~19) 다음 클래스 및 함수에 대한 질문에 답하라. class A { int a; public: A(int x) { a = x; cout << "A 생성 "; } virtual ~A() { cout << "A 소멸 "; } virtual int f(int x) const { return x + a; } void g(int x) { a += x; } }; // A의 파생 클래스 선언 class B:( ㄱ ) { int b; public: B(int x, int y) ( ㄴ ) { cout << "B 생성 "; } ~B() { cout << "B 소멸 "; } // A의 f를 재정의 int f(int x) const { return x + b; } }; int h() { A* p = new B(10, 20); int val = p->f(100); delete p; return val; } main 함수에서 B의 객체 bObj를 만들었을 때 bObj.g(10)과 같이 A의 멤버함수 g를 호출하려고 한다. (ㄱ)에 넣을 내용은? (3점)
C++프로그래밍
17. (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 ) } (ㄴ)에 넣을 Athlete의 생성자를 올바르게 작성한 것은? (3점)
C++프로그래밍
17. (16~20) 클래스 상속과 관련한 다음 선언문에 대한 질문에 답하시오. (가)에는 기초 클래스의 id를 s1, att를 s2로 초기화하는 문장이, (나)에는 이와 더불어 x를 n으로 초기화하는 문장이 포함된다. (가상함수 사용에 주의하라.) class BClass { ( ㄱ ): string id; public: BClass(const string& s):id(s) {} virtual void action() const { cout << id << endl; } string getID() const { return id; } }; class DClass1:public BClass { string att; public: DClass1(const string& s1, const string& s2) ( 가 ) string getAtt() const { return att; } void action() const { cout << getID() << " " << att << endl; } // (ㄴ) }; class DClass2:public DClass1 { int x; public: DClass2(const string& s1, const string& s2, int n) ( 나 ) void action() const { cout << getID() << " " << getAtt() << " " << x << endl; } }; void f() { DClass1* pDC1 = new DClass2("ab", "cd", 10); BClass* pBC = pDC1; pBC->action(); // (다) pDC1->action(); // (라) …… } DClass1의 생성자를 완성하기 위해 (가)에 넣을 문장은? (2점)
C++프로그래밍
17. 파생클래스 객체가 만들어지고 제거될 때 파생클래스와 기초클래스 생성자 및 소멸자의 동작 순서를 올바르게 설명한 것은? (3점)
C++프로그래밍
17. (16~20) 클래스 상속과 관련한 다음 선언문에 대한 질문에 답하시오. (가)에는 기초 클래스의 id를 s1, att를 s2로 초기화하는 문장이, (나)에는 이와 더불어 x를 n으로 초기화하는 문장이 포함된다. (가상함수 사용에 주의하라.) class BClass { ( ㄱ ): string id; public: BClass(const string& s):id(s) {} virtual void action() const { cout << id << endl; } string getID() const { return id; } }; class DClass1:public BClass { string att; public: DClass1(const string& s1, const string& s2) ( 가 ) string getAtt() const { return att; } void action() const { cout << getID() << " " << att << endl; } // ㈁ }; class DClass2:public DClass1 { int x; public: DClass2(const string& s1, const string& s2, int n) ( 나 ) void action() const { cout << getID() << " " << getAtt() << " " << x << endl; } }; void f() { DClass1* pDC1 = new DClass2("ab", "cd", 10); BClass* pBC = pDC1; pBC->action(); // (다) pDC1->action(); // (라) …… } DClass1의 생성자를 완성하기 위해 (가)에 넣을 문장은? (2점)
C++프로그래밍
17. (16~19) 클래스 Person과 Person의 파생 클래스인 Athlete에 대한 질문에 답하라. class Person { ( ㄱ ) string name; public: Person(const string& n):name(n) {} string getName() const { return name; } ( ㄴ ) void print() const { cout << name; } }; int main() { Person *pP1 = new Person("홍길동"); Athlete *pA = new Athlete("박철수", "승리구단"); Person *pP2 = pA; pP1->print(); cout << " "; pA->print(); cout << " "; pP2->print(); cout << endl; delete pP1; delete pP2; return 0; } Person의 멤버 name을 (ㄹ)의 문장처럼 Athlete의 멤버함수에서 사용할 수 있고, main함수에서는 name을 직접 사용할 수 없도록 하려면 (ㄱ)에 어떠한 내용이 필요한가? (3점)
C++프로그래밍
17. (17~19) 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); } 함수 g()의 20행과 같이 Student 객체로 Person의 멤버함수 getName()을 호출할 수 있게 하려면 ㈁에 어떠한 내용이 필요한가? (3점)
C++프로그래밍
17. (16~19) 다음 클래스 및 함수에 대한 질문에 답하라. class A { int a; public: A(int x) { a = x; cout << "A 생성 "; } virtual ~A() { cout << "A 소멸 "; } virtual int f(int x) const { return x + a; } void g(int x) { a += x; } }; // A의 파생 클래스 선언 class B:( ㄱ ) { int b; public: B(int x, int y) ( ㄴ ) { cout << "B 생성 "; } ~B() { cout << "B 소멸 "; } // A의 f를 재정의 int f(int x) const { return x + b; } }; int h() { A* p = new B(10, 20); int val = p->f(100); delete p; return val; } B의 생성자에서 x는 클래스 A의 a, y는 B의 b에 초기화되게 하기 위해 (ㄴ)에 넣을 내용은? (3점)
C++프로그래밍
18. (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 ) } main 함수의 (a)에서 사용할 수 있는 문장은? (2점)
C++프로그래밍
18. (16~20) 클래스 상속과 관련한 다음 선언문에 대한 질문에 답하시오. (가)에는 기초 클래스의 id를 s1, att를 s2로 초기화하는 문장이, (나)에는 이와 더불어 x를 n으로 초기화하는 문장이 포함된다. (가상함수 사용에 주의하라.) class BClass { ( ㄱ ): string id; public: BClass(const string& s):id(s) {} virtual void action() const { cout << id << endl; } string getID() const { return id; } }; class DClass1:public BClass { string att; public: DClass1(const string& s1, const string& s2) ( 가 ) string getAtt() const { return att; } void action() const { cout << getID() << " " << att << endl; } // (ㄴ) }; class DClass2:public DClass1 { int x; public: DClass2(const string& s1, const string& s2, int n) ( 나 ) void action() const { cout << getID() << " " << getAtt() << " " << x << endl; } }; void f() { DClass1* pDC1 = new DClass2("ab", "cd", 10); BClass* pBC = pDC1; pBC->action(); // (다) pDC1->action(); // (라) …… } (다)의 문장에 의해 출력되는 결과는? (3점)
C++프로그래밍
18. (18~20) 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(); } }; Person 클래스의 public 멤버가 Student의 public 멤버로 상속되도록 하기 위해 (ㄴ)에 넣을 내용은? (3점)
C++프로그래밍
18. (16~20) 클래스 상속과 관련한 다음 선언문에 대한 질문에 답하시오. (가)에는 기초 클래스의 id를 s1, att를 s2로 초기화하는 문장이, (나)에는 이와 더불어 x를 n으로 초기화하는 문장이 포함된다. (가상함수 사용에 주의하라.) class BClass { ( ㄱ ): string id; public: BClass(const string& s):id(s) {} virtual void action() const { cout << id << endl; } string getID() const { return id; } }; class DClass1:public BClass { string att; public: DClass1(const string& s1, const string& s2) ( 가 ) string getAtt() const { return att; } void action() const { cout << getID() << " " << att << endl; } // ㈁ }; class DClass2:public DClass1 { int x; public: DClass2(const string& s1, const string& s2, int n) ( 나 ) void action() const { cout << getID() << " " << getAtt() << " " << x << endl; } }; void f() { DClass1* pDC1 = new DClass2("ab", "cd", 10); BClass* pBC = pDC1; pBC->action(); // (다) pDC1->action(); // (라) …… } (다)의 문장에 의해 출력되는 결과는? (3점)
C++프로그래밍
18. (16~19) 클래스 Person과 Person의 파생 클래스인 Athlete에 대한 질문에 답하라. class Person { ( ㄱ ) string name; public: Person(const string& n):name(n) {} string getName() const { return name; } ( ㄴ ) void print() const { cout << name; } }; int main() { Person *pP1 = new Person("홍길동"); Athlete *pA = new Athlete("박철수", "승리구단"); Person *pP2 = pA; pP1->print(); cout << " "; pA->print(); cout << " "; pP2->print(); cout << endl; delete pP1; delete pP2; return 0; } (ㄴ)이 공란일 경우 main의 출력 결과는? (3점)
C++프로그래밍
18. (17~19) 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); } 11행의 생성자에서 n이 name에, s가 school에 저장되게 하려면 ㈂에 어떠한 내용을 넣으면 되는가? (2점)
C++프로그래밍
18. (16~19) 다음 클래스 및 함수에 대한 질문에 답하라. class A { int a; public: A(int x) { a = x; cout << "A 생성 "; } virtual ~A() { cout << "A 소멸 "; } virtual int f(int x) const { return x + a; } void g(int x) { a += x; } }; // A의 파생 클래스 선언 class B:( ㄱ ) { int b; public: B(int x, int y) ( ㄴ ) { cout << "B 생성 "; } ~B() { cout << "B 소멸 "; } // A의 f를 재정의 int f(int x) const { return x + b; } }; int h() { A* p = new B(10, 20); int val = p->f(100); delete p; return val; } 문제 52와 같이 생성자가 정의되었을 때, 함수 h()를 호출하면 반환되는 값은? (2점)
C++프로그래밍
19. 다음 중 클래스 계층구조를 설계할 경우 나머지 클래스의 기초 클래스가 될 수 있는 것은? (3점)
C++프로그래밍
19. (16~20) 클래스 상속과 관련한 다음 선언문에 대한 질문에 답하시오. (가)에는 기초 클래스의 id를 s1, att를 s2로 초기화하는 문장이, (나)에는 이와 더불어 x를 n으로 초기화하는 문장이 포함된다. (가상함수 사용에 주의하라.) class BClass { ( ㄱ ): string id; public: BClass(const string& s):id(s) {} virtual void action() const { cout << id << endl; } string getID() const { return id; } }; class DClass1:public BClass { string att; public: DClass1(const string& s1, const string& s2) ( 가 ) string getAtt() const { return att; } void action() const { cout << getID() << " " << att << endl; } // (ㄴ) }; class DClass2:public DClass1 { int x; public: DClass2(const string& s1, const string& s2, int n) ( 나 ) void action() const { cout << getID() << " " << getAtt() << " " << x << endl; } }; void f() { DClass1* pDC1 = new DClass2("ab", "cd", 10); BClass* pBC = pDC1; pBC->action(); // (다) pDC1->action(); // (라) …… } (라)의 문장에 의해 출력되는 결과는? (3점)
C++프로그래밍
19. (18~20) 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(); } }; Student 클래스의 생성자를 선언하기 위해 (ㄷ)에 넣을 적절한 구문은? (3점)
C++프로그래밍
19. (16~20) 클래스 상속과 관련한 다음 선언문에 대한 질문에 답하시오. (가)에는 기초 클래스의 id를 s1, att를 s2로 초기화하는 문장이, (나)에는 이와 더불어 x를 n으로 초기화하는 문장이 포함된다. (가상함수 사용에 주의하라.) class BClass { ( ㄱ ): string id; public: BClass(const string& s):id(s) {} virtual void action() const { cout << id << endl; } string getID() const { return id; } }; class DClass1:public BClass { string att; public: DClass1(const string& s1, const string& s2) ( 가 ) string getAtt() const { return att; } void action() const { cout << getID() << " " << att << endl; } // ㈁ }; class DClass2:public DClass1 { int x; public: DClass2(const string& s1, const string& s2, int n) ( 나 ) void action() const { cout << getID() << " " << getAtt() << " " << x << endl; } }; void f() { DClass1* pDC1 = new DClass2("ab", "cd", 10); BClass* pBC = pDC1; pBC->action(); // (다) pDC1->action(); // (라) …… } (라)의 문장에 의해 출력되는 결과는? (3점)
C++프로그래밍
19. (16~19) 클래스 Person과 Person의 파생 클래스인 Athlete에 대한 질문에 답하라. class Person { ( ㄱ ) string name; public: Person(const string& n):name(n) {} string getName() const { return name; } ( ㄴ ) void print() const { cout << name; } }; int main() { Person *pP1 = new Person("홍길동"); Athlete *pA = new Athlete("박철수", "승리구단"); Person *pP2 = pA; pP1->print(); cout << " "; pA->print(); cout << " "; pP2->print(); cout << endl; delete pP1; delete pP2; return 0; } (ㄴ)에 virtual 이라는 단어를 넣었을 때 main의 출력 결과는? (3점)
C++프로그래밍
19. (17~19) 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); } 21행을 실행한 결과 '대한중학교 김한국'을 출력하려면 ㈀에 어떠한 내용이 필요한가? (4점)
C++프로그래밍
19. (16~19) 다음 클래스 및 함수에 대한 질문에 답하라. class A { int a; public: A(int x) { a = x; cout << "A 생성 "; } virtual ~A() { cout << "A 소멸 "; } virtual int f(int x) const { return x + a; } void g(int x) { a += x; } }; // A의 파생 클래스 선언 class B:( ㄱ ) { int b; public: B(int x, int y) ( ㄴ ) { cout << "B 생성 "; } ~B() { cout << "B 소멸 "; } // A의 f를 재정의 int f(int x) const { return x + b; } }; int h() { A* p = new B(10, 20); int val = p->f(100); delete p; return val; } 함수 h()를 호출하였을 때 출력 결과는 무엇인가? (2점)
C++프로그래밍
20. 기초 클래스와 파생 클래스의 소멸자에 대하여 올바르게 설명한 것은? (4점)
C++프로그래밍
20. (16~20) 클래스 상속과 관련한 다음 선언문에 대한 질문에 답하시오. (가)에는 기초 클래스의 id를 s1, att를 s2로 초기화하는 문장이, (나)에는 이와 더불어 x를 n으로 초기화하는 문장이 포함된다. (가상함수 사용에 주의하라.) class BClass { ( ㄱ ): string id; public: BClass(const string& s):id(s) {} virtual void action() const { cout << id << endl; } string getID() const { return id; } }; class DClass1:public BClass { string att; public: DClass1(const string& s1, const string& s2) ( 가 ) string getAtt() const { return att; } void action() const { cout << getID() << " " << att << endl; } // (ㄴ) }; class DClass2:public DClass1 { int x; public: DClass2(const string& s1, const string& s2, int n) ( 나 ) void action() const { cout << getID() << " " << getAtt() << " " << x << endl; } }; void f() { DClass1* pDC1 = new DClass2("ab", "cd", 10); BClass* pBC = pDC1; pBC->action(); // (다) pDC1->action(); // (라) …… } pB가 BClass의 포인터이고, pD2가 DClass2의 포인터일 때 pB가 가리키는 객체를 pD2가 가리키게 하려고 한다. 다음 중 만일 pB가 가리키고 있는 객체가 DClass2의 객체라면 pD2에 포인터가 복사되고, 그렇지 않으면 pD2에 NULL이 저장되도록 하는 문장은? (3점)
C++프로그래밍
20. (18~20) 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(); } }; 다음 문장이 student의 print를 호출하도록 하려면 ㈀에 어떤 단어를 넣어야 하는가? (3점) Person *p = new Student("김철수", "방송대"); p->print();
C++프로그래밍
20. (16~20) 클래스 상속과 관련한 다음 선언문에 대한 질문에 답하시오. (가)에는 기초 클래스의 id를 s1, att를 s2로 초기화하는 문장이, (나)에는 이와 더불어 x를 n으로 초기화하는 문장이 포함된다. (가상함수 사용에 주의하라.) class BClass { ( ㄱ ): string id; public: BClass(const string& s):id(s) {} virtual void action() const { cout << id << endl; } string getID() const { return id; } }; class DClass1:public BClass { string att; public: DClass1(const string& s1, const string& s2) ( 가 ) string getAtt() const { return att; } void action() const { cout << getID() << " " << att << endl; } // ㈁ }; class DClass2:public DClass1 { int x; public: DClass2(const string& s1, const string& s2, int n) ( 나 ) void action() const { cout << getID() << " " << getAtt() << " " << x << endl; } }; void f() { DClass1* pDC1 = new DClass2("ab", "cd", 10); BClass* pBC = pDC1; pBC->action(); // (다) pDC1->action(); // (라) …… } pB가 BClass의 포인터이고, pD2가 DClass2의 포인터일 때 pB가 가리키는 객체를 pD2가 가리키게 하려고 한다. 다음 중 만일 pB가 가리키고 있는 객체가 DClass2의 객체라면 pD2에 포인터가 복사되고, 그렇지 않으면 pD2에 NULL이 저장되도록 하는 문장은? (3점)
C++프로그래밍
20. 다음 클래스에 대한 설명으로 올바른 것은? (4점) class absClass { …… virtual int funcA(int a) = 0; };
C++프로그래밍
20. 다음 중 순수 가상함수를 포함하는 클래스에 대한 설명으로 올바른 것은? (4점)
C++프로그래밍
20. 다음과 같은 멤버가 포함되어 있는 클래스에 대한 설명으로 올바른 것은? (4점) class ClassAbs { …… virtual int f() = 0; };
C++프로그래밍
21. 추상 클래스와 상세 클래스에 대한 다음 설명 중 옳은 것을 모두 나열한 것은? (4점) (ㄱ) 추상 클래스는 객체를 직접 정의할 수 없다. (ㄴ) 추상 클래스는 순수 가상함수를 포함하고 있다. (ㄷ) 상세 클래스는 객체를 정의할 수 있다. (ㄹ) 기초 클래스에서 상속 받은 순수 가상함수를 모두 재정의하지 않았더라도 파생 클래스에서 순수 가상함수를 선언하지 않았다면 그 클래스는 상세 클래스이다.
C++프로그래밍
21. 다음 중 추상 클래스에 대한 설명으로 적절한 것은? (4점)
C++프로그래밍
21. 추상클래스와 상세클래스에 대한 올바른 설명은? (4점)
C++프로그래밍
21. 다음 중 추상 클래스에 대한 설명으로 적절한 것은? (4점)
C++프로그래밍
21. 다음과 같이 선언된 클래스 템플릿을 이용하여 int형 값을 10개 저장하는 컨테이너 a를 정의하는 문장은? (2점) template <class T, int size> class Array [ T buf[size]; …… };
C++프로그래밍
21. 생성자와 소멸자에 대한 설명이 올바른 것은? (3점)
C++프로그래밍
21. (21~22) 매개변수 T를 통해 지정된 자료형의 값을 sz개 저장하는 배열을 표현하는 클래스 템플릿에 대한 질문에 답하라. ( ㄱ ) < ( ㄴ ) T> class Array { T* buf; int sz; public: Array(int s):sz{ s }, buf{ new T[s] } {} ~Array() { delete[] buf; } …… }; (ㄱ)과 (ㄴ)에 넣을 적절한 단어는? (3점)
C++프로그래밍
22. STL의 구성 요소 중 반복자(iterator)의 역할은 무엇인가? (3점)
C++프로그래밍
22. 다음 중 표준 템플릿 라이브러리(STL)의 순차 컨테이너에 해당되는 것은? (2점)
C++프로그래밍
22. 다음은 템플릿 매개변수에 지정된 자료형과 개수에 따라 데이터를 저장하는 클래스 템플릿이다. double형 값을 50개 저장하는 컨테이너 a를 정의하는 올바른 문장은? (2점) template <class T, int size> class ArrT { T arr[size]; …… };
C++프로그래밍
22. 다음 중 표준 템플릿 라이브러리(STL)의 순차 컨테이너에 해당되는 것은? (2점)
C++프로그래밍
22. 다음 STL 컨테이너 중 배열과 같이 활용할 수 있으며, 필요에 따라 그 크기를 확장할 수 있는 것은? (3점)
C++프로그래밍
22. 다음은 저장할 값의 자료형과 개수를 템플릿 매개변수로 갖는 클래스 템플릿이다. float형 값을 20개 저장할 수 있는 컨테이너 fArr을 선언하는 올바른 문장은? (2점) template <class T, int size> class Arr { T buf[size]; …… };
C++프로그래밍
22. (21~22) 매개변수 T를 통해 지정된 자료형의 값을 sz개 저장하는 배열을 표현하는 클래스 템플릿에 대한 질문에 답하라. ( ㄱ ) < ( ㄴ ) T> class Array { T* buf; int sz; public: Array(int s):sz{ s }, buf{ new T[s] } {} ~Array() { delete[] buf; } …… }; double형 값을 100개 저장하는 Array 객체 a를 선언하는 문장으로 올바른 것은? (3점)
C++프로그래밍
23. 다음 중 STL에서 제공하는 컨테이너 중 vector에 대한 올바른 설명은 무엇인가? (3점)
C++프로그래밍
23. 다음 중 배열의 개념을 구현한 것으로, 필요에 따라 크기를 확장할 수 있는 STL의 컨테이너는 무엇인가? (3점)
C++프로그래밍
23. (23~24) 다음 프로그램에 대한 질문에 답하라. vector<int> a(10); vector<int>::iterator it; int i=0; for ( (ㄱ) ) *it = i++; a에 대한 설명으로 올바른 것은? (3점)
C++프로그래밍
23. 다음 중 배열의 개념을 구현한 것으로, 필요에 따라 크기를 확장할 수 있는 STL의 컨테이너는 무엇인가? (3점)
C++프로그래밍
23. STL에서 반복자(iterator)의 용도는 무엇인가? (3점)
C++프로그래밍
23. STL의 컨테이너 중 연상 컨테이너에 해당되는 것은? (2점)
C++프로그래밍
23. 다음 중 STL의 순차 컨테이너를 모아 놓은 것은? (2점)
C++프로그래밍
24. (24~25) 다음 예외처리 구문에 대한 질문에 답하라. try { ( ㄱ ) } catch (int a) { ( ㄴ ) } catch (const char* str) { ( ㄷ ) } catch (...) { ( ㄹ ) } (ㄱ)은 어떠한 내용을 작성하는 영역인가? (4점)
C++프로그래밍
24. (24~25) 다음 함수에 대한 질문에 답하라. double f(double x) { if (x == 0) throw "div by zero"; return 1.0/x; } void g() { ( ㄱ ) { double a = f(0.0); cout << a << endl; } catch (const char* str) { cout << str << endl; } catch (...) { cout << ".." << endl; } cout << "done" << endl; } 예외 처리를 위해 (ㄱ)에 넣을 단어는? (4점)
C++프로그래밍
24. (23~24) 다음 프로그램에 대한 질문에 답하라. vector<int> a(10); vector<int>::iterator it; int i=0; for ( (ㄱ) ) *it = i++; a의 선두에서 시작하여 차례로 0부터 9까지의 값이 저장되게 하려고 한다. (ㄱ)에 넣을 적절한 내용은? (2점)
C++프로그래밍
24. (24~25) 다음 함수에 대한 질문에 답하라. double f(double x) { if (x == 0) throw "div by zero"; return 1.0/x; } void g() { ( ㄱ ) { double a = f(0.0); cout << a << endl; } catch (const char* str) { cout << str << endl; } catch (...) { cout << ".." << endl; } cout << "done" << endl; } 예외 처리를 위해 (ㄱ)에 넣을 단어는? (4점)
C++프로그래밍
24. (24~25) 다음 클래스에 대한 질문에 답하라. double g(double x) { if (x <= 0) throw 0; return sqrt(x); } void f(double a) { ( ㄱ ) { cout << g(a) << endl; } catch ( ㄴ ) { cout << "예외 발생" << endl; } } 예외 처리를 위해 (ㄱ)에 넣을 적절한 단어는 무엇인가? (3점)
C++프로그래밍
24. STL에서 컨테이너에 저장된 원소를 액세스하기 위한 포인터의 역할을 하는 것은 무엇인가? (3점)
C++프로그래밍
24. 다음 함수에 대한 설명으로 올바른 것은? (4점) void f() { try { ( ㄱ ) } catch (int e) { ( ㄴ ) } catch (...) { ( ㄷ ) } ( ㄹ ) }
C++프로그래밍
25. (24~25) 다음 예외처리 구문에 대한 질문에 답하라. try { ( ㄱ ) } catch (int a) { ( ㄴ ) } catch (const char* str) { ( ㄷ ) } catch (...) { ( ㄹ ) } (ㄱ)에서 실행 중 throw 10; 이라는 명령을 실행했을 때 프로그램은 어떻게 동작하는가? (3점)
C++프로그래밍
25. (24~25) 다음 함수에 대한 질문에 답하라. double f(double x) { if (x == 0) throw "div by zero"; return 1.0/x; } void g() { ( ㄱ ) { double a = f(0.0); cout << a << endl; } catch (const char* str) { cout << str << endl; } catch (...) { cout << ".." << endl; } cout << "done" << endl; } 함수 g()를 실행하였을 때 출력되는 내용은? (3점)
C++프로그래밍
25. 다음 중 프로그램 실행 중 예외 발생하였음을 알리기 위해 사용하는 명령은? (3점)
C++프로그래밍
25. (24~25) 다음 함수에 대한 질문에 답하라. double f(double x) { if (x == 0) throw "div by zero"; return 1.0/x; } void g() { ( ㄱ ) { double a = f(0.0); cout << a << endl; } catch (const char* str) { cout << str << endl; } catch (...) { cout << ".." << endl; } cout << "done" << endl; } 함수 g()를 실행하였을 때 출력되는 내용은? (3점)
C++프로그래밍
25. (24~25) 다음 클래스에 대한 질문에 답하라. double g(double x) { if (x <= 0) throw 0; return sqrt(x); } void f(double a) { ( ㄱ ) { cout << g(a) << endl; } catch ( ㄴ ) { cout << "예외 발생" << endl; } } 함수 g()에서 예외가 발생할 경우 "예외 발생"이라고 출력하기 위해 (ㄴ)에 넣을 내용은? (2점)
C++프로그래밍
25. 예외처리 구문에 대한 설명으로 올바른 것은? (3점)
C++프로그래밍
25. 다음 함수에서는 예외 발생시 메모리가 소실되는 문제가 있는데, 이의 해결 방법으로 적절한 것은? (3점) void g(int n) { int* pt = new int[n]; …… if (pt[i] < pt[j]) throw "exception"; …… delete[] pt;" }
진행 상황
답안 완료율
0%
미답안
답안완료