문제 :
아래 main()의 실행 결과가 다음과 같도록 Tower 클래스를 작성하라.
1
2
3
4
5
6
7
8
9
|
#include <iostream>
using namespace std;
int main() {
Tower myTower; // 1 미터
Tower seoulTower(100); // 100 미터
cout << "높이는 " << myTower.getHeight() << "미터" << endl;
cout << "높이는 " << seoulTower.getHeight() << "미터" << endl;
}
|
목적 및 힌트 :
2개의 생성자와 여러 멤버를 가진 클래스 만들기
실행 결과 :
코드 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include<iostream>
using namespace std;
class Tower{
int height;
public:
Tower();
Tower(int h);
int getHeight();
};
Tower::Tower(){ // 매개변수가 없는 생성자
height=1;
}
Tower::Tower(int h){ // 매개변수가 하나 있는 생성자
height=h;
}
int Tower::getHeight(){
return height;
}
int main() {
Tower myTower;
Tower seoulTower(100);
cout << "높이는 " << myTower.getHeight() << "미터" << endl;
cout << "높이는 " << seoulTower.getHeight() << "미터" << endl;
}
|
설명 :
C++에서는 생성자 중복(Constructor Overloading)이 가능한데, 이를 이용하여 매개 변수의 개수가 다른 생성자를 만드는 문제입니다.
'C++ programming' 카테고리의 다른 글
명품 C++ programming 실습 문제 3장 3번 (3) | 2020.03.02 |
---|---|
명품 C++ programming 실습 문제 3장 2번 (2) | 2020.03.02 |
명품 C++ programming 실습 문제 2장 16번 (3) | 2020.02.28 |
명품 C++ programming 실습 문제 2장 15번 (3) | 2020.02.28 |
명품 C++ programming 실습 문제 2장 14번 (3) | 2020.02.28 |