반응형
2018년에 3월 5일에 발행된
황기태 저자의
명품 C++ Programming 개정판
3장 연습 문제입니다.
저작권을 준수하기 위해서
에 나와있는 문제는 적지 않고
문항 번호, 정답, 풀이만 적었습니다.
궁금한 점은 댓글로 남겨주세요.
문항 | 정답 & 풀이 | |
1 | 객체의 구성 요소들을 보호하고 볼 수 없게 하기 위해서. | |
2 | ③ 클래스의 멤버들은 private 접근 지정이 바람직하다. | |
3 | 변수와 함수들이 상관관계가 있음에도 훑어져 있으며, 누구나 클래스 안의 멤버들에 접근이 가능하기 때문에 문제의 C++ 코드는 객체 지향 언어의 캡슐화를 달성하고 있지 않다. | |
4 | class Person { int age; public: void older() { age++; } } |
|
5 | class Circle { int radius; public: double getArea(); } 멤버 함수를 private으로 지정하면 사용이 매우 제한된다. |
|
6 | class Tower { int height = 20; public: Tower() { height = 10; } } 생성자에는 return문을 사용해서는 안된다. |
|
7 | class Building { int floor; public: Building(); Building(int s) { floor = s; } }; 클래스에 기본 생성자를 추가해줘야 한다. 또는, main 함수에서 기본 생성자를 생성하면 안된다. |
|
8 | Calendar::Calendar() { year = 10; } int Calendar::getyear() { return year; } |
|
9 | ② | |
10 | ③ 소멸자는 매개변수가 있을 수 없다. | |
11 | (1) | House::House(int n, int s) { numOfRooms = n; size = s; } |
(2) | House::~House() { cout << "방의 크기: " << size << endl; cout << "방의 개수: " << numOfRooms << endl; } |
|
(3) | b 생성 -> c 생성 -> a 생성 -> a 소멸 -> d 생성 -> d 소멸 -> c 소멸 -> b 소멸 | |
12 | c 생성 -> b 생성 -> a 생성 -> a 소멸 -> b 소멸 -> c 소멸 | |
13 | 기본 생성자의 접근 지정자가 private으로 돼 있어서 외부에서 접근을 할 수 없다. class TV { public: int channels; TV() { channels = 256; } TV(int a) { channels = a; } }; |
|
14 | int형 변수 channels의 접근 지정자가 private으로 돼 있는데 main함수에서 이를 직접적으로 접근했다. class TV { public: int channels; int colors; TV() { channels = 256; } TV(int a, int b) { channels = a; colors = b; } }; |
|
15 | TV()와 TV(int a)가 자동 인라인 함수이다. | |
16 | ② | |
17 | ① | |
18 | ① ②는 재귀함수가 포함돼서, ③은 반복문이 포함돼서, ④는 static 변수가 포함돼서 인라인 함수로 허용되지 않는다. |
|
19 | ④ C++에서 구조체도 클래스처럼 상속을 받을 수 있다. | |
20 | class Family { char tel[11]; public: int count; char address[20]; Family(); }; |
|
21 | struct Univese { char dateCreated[10]; public: char creator[10]; int size; Universe(); }; |
반응형
'문제풀이 > 명품 C++ Programming' 카테고리의 다른 글
[명품 C++ Programming] 4장 Open Challenge (0) | 2020.12.15 |
---|---|
[명품 C++ Programming] 3장 실습 문제 (2) | 2020.12.14 |
[명품 C++ Programming] 3장 Open Challenge (0) | 2020.12.11 |
[명품 C++ Programming] 2장 실습 문제 (0) | 2020.12.11 |
[명품 C++ Programming] 2장 연습 문제 (1) | 2020.12.11 |