6.2> Person 클래스의 객체를 생성하는 main() 함수는 다음과 같다.
(1) 생성자를 중복 작성하고 프로그램을 완성하라.
<코드1>
#include <iostream> #include <string>
using namespace std;
class Person{ private: int id; double weight; string name; public: void show(){cout<<id<<" "<<weight<<" "<<name<<endl;} //출력함수 Person(); Person(int id, string name); Person(int id,string name,double weight); //생성자 오버로딩 }; Person::Person(){//매개변수 없는 생성자 this->id=1; this->weight=20.5; this->name="Grace"; } Person::Person(int id, string name){ //매개변수 2개인 생성자 this->id=id; this->weight=20.5; this->name=name; }
Person::Person(int id,string name,double weight){ //매개변수 3개인 생성자 this->id=id; this->name=name; this->weight=weight; }
int main(void){ Person grace, ashley(2, "Ashley"), helen(3, "Helen", 32.5); grace.show(); ashley.show(); helen.show(); return 0; }
|
(2) 디폴트 매개 변수를 가진 하나의 생성자를 작성하고 프로그램을 완성하라.
<코드2>
#include <iostream> #include <string>
using namespace std;
class Person{ private: int id; double weight; string name; public: void show(){cout<<id<<" "<<weight<<" "<<name<<endl;} //출력함수 Person(int id,string name,double weight); }; Person::Person(int id=1,string name="Grace",double weight=20.5){ //디폴트매개변수를 가진 생성자 this->id=id; this->name=name; this->weight=weight; //id에 입력이 없으면 1 대입, name에 입력이 없으면 "Grace" 대입, weight에 입력이 없으면 20.5 대입 }
int main(void){ Person grace, ashley(2, "Ashley"), helen(3, "Helen", 32.5); grace.show(); ashley.show(); helen.show(); return 0; }
|
<결과창>
|
'컴퓨터 & 프로그래밍 & 전자공학 > C++' 카테고리의 다른 글
동일한 크기의 배열 (0) | 2017.12.25 |
---|---|
생성자 오버로딩의 디폴트 매개변수로의 변환 (0) | 2017.12.25 |
virtual 함수 (0) | 2017.11.23 |
operator overloading (0) | 2017.11.14 |
모스 부호 (0) | 2017.11.09 |