반응형
2018년에 3월 5일에 발행된
황기태 저자의
명품 C++ Programming 개정판
4장 연습 문제/ 실습 문제입니다.
저작권을 준수하기 위해서
책에 나와있는 문제는 적지 않고
문항 번호, 정답, 풀이만 적었습니다.
궁금한 점은 댓글로 남겨주세요.
문항 | 정답 & 풀이 | |
1 | (1) | Rect *p; |
(2) | p = &r; | |
(3) | cout << "폭: " << p->getWidth() << ", 높이: " << p->getHeight(); | |
2 | (1) | q = new Rect(w, h); |
(2) | cout << q->getArea(); | |
(3) | delete[] q; | |
3 | ① a는 인자가 없기 때문에 기본 생성자를 호출하는데 주어진 Rect 클래스에는 기본 생성자가 존재하지 않음 | |
4 | Rect 클래스에 기본 생성자를 추가해준다. | |
5 | int totalArea = 0; for (int i = 0; i < 5; i++) { totalArea += r[i].getArea(); } cout << "배열 r의 사각형 면적의 합은 " << totalArea << "입니다."; |
|
6 | ④ c는 포인터가 아니기 때문에 화살표 연산자를 사용하지 못함. | |
7 | ④ delete[] c; 코드로 배열 c를 소멸한다. | |
8 | 기본생성자 기본생성자 기본생성자 소멸자 소멸자 소멸자 |
|
9 | ① | |
10 | 객체 배열을 동적 생성했는데 반환할 때는 일반 객체를 배열하듯이 함. | |
11 | ③ 정적 멤버 함수는 객체가 생성되기 전부터 존재할 수 있기 때문에 this를 사용할 수 없다. | |
12 | ③ this는 생성자에서 사용할 수 있다. | |
13 | class Location { int width, height; public: Location() { this->width = this->height = 0; } Location(int width, int height) { this->width = width; this->height = height; } void show(); }; void Location::show() { cout << this->width << this->height << endl; } |
|
14 | 메모리 누수는 동적으로 할당받은 메모리의 주소를 잃어버려 힙에 반환할 수 없게 될 때 발생한다. | |
15 | (1) | 메모리 누수가 발생한다 블럭의 맨 끝에 delete[]p;를 추가해준다. |
(2) | 메모리 누수가 발생하지 않는다. | |
(3) | 메모리 누수가 발생하지 않는다. | |
(4) | 메모리 누수가 발생한다. void f() { int* p; for (int i = 0; i < 5; i++) { p = new int; cin >> *p; if (*p % 2 == 1) { delete p; break; } delete p; } } |
|
16 | ① | |
17 | stoi | |
18 | ③ string 클래스는 C++의 표준이다. | |
19 | string a("My name is Jane"); char ch = a[2]; if (a == "My name is Jhon") cout << "same"; a += "~~"; a[1] = "Y"; |
반응형
'문제풀이 > 명품 C++ Programming' 카테고리의 다른 글
[명품 C++ Programming] 4장 실습 문제 (0) | 2020.12.15 |
---|---|
[명품 C++ Programming] 4장 Open Challenge (0) | 2020.12.15 |
[명품 C++ Programming] 3장 실습 문제 (2) | 2020.12.14 |
[명품 C++ Programming] 3장 연습 문제 (2) | 2020.12.11 |
[명품 C++ Programming] 3장 Open Challenge (0) | 2020.12.11 |