728x90
1. 1번
2. 2번
3. 2번 3번 compile-time binding
4. 다형성
5.
(1) 기본 클래스 : Base , 파생 클래스 : Derived
(2) Derived::f() called
(3) Base::f() called
(4) Base::f() called
(5) Base::f() called
6.
(1) 1, 2, 3
(2) C::f() called
(3) C::f() called
(4) C::f() called
(5) C::f() called
7. 가까운, 범위 규칙, virtual 키워드 범위 지정 연산자
8.
(1)
void g() { ::f(); }
(2)
void g() { A::f(); }
(3)
void g() { f(); }
9. 2번 소멸자를 가상 함수로 선언하는 것이 바람직하다.
10.
(1) 실행결과는 "id=10" 이다. 가상 함수로 선언하지 않아 클래스 Student의 소멸자가 실행되지 않는다.
(2)
virtual ~Person() {cout << "id="<< id << endl; }
11. 3번 virtual 선언한 후 =0 을 뒤에 붙여준다.
12. 3번 기본 클래스와 파생클래스만이 선언 가능하다.
13. 2번
14.
(1) 1번 추상 클래스는 개체를 생성할 수 없다.
(2)
#include <iostream>
using namespace std;
class Shape {
public:
void paint() { draw(); }
virtual void draw() = 0;
};
class Circle : public Shape {
int radius;
public:
Circle(int radius = 1) { this->radius = radius; }
double getArea() { return 3.14 * radius * radius; }
virtual void draw() { cout << "반지름=" << radius << "인 원" << endl; }
};
int main() {
Circle *p = new Circle(10);
p->paint();
delete p;
}
15. 4번 순수 가상 함수 호출
728x90
'C++ > 명품 C++ Programming' 카테고리의 다른 글
명품 C++ 10장 연습문제 - 이론 문제 (0) | 2022.05.24 |
---|---|
명품 C++ 9장 연습문제 - 실습 문제 (0) | 2022.05.20 |
명품 C++ 8장 연습문제 - 실습 문제 (0) | 2022.02.08 |
명품 C++ 8장 연습문제 - 이론 문제 (0) | 2022.02.04 |
명품 C++ 7장 연습문제 - 실습 문제 (0) | 2022.01.26 |
댓글