class Car
{
public:
Car(const string& name)
: Car(name, 0)
{
}
Car(const string& name, const int& price)
:name(name), price(price) // 생성자 초기화 리스트
{
}
private:
string name;
int price;
};
// 매개변수 2개를 받는 생성자와 매개변수 1개를 받는 생성자가 있다.
// 객체 생성자 하나만 인수로 넘기면, 사실망 Car(name,0) 을 호출하는 것과 같다.
// init 멤버 함수로 전부 초기화 해주기
class Car
{
public:
Car(const string& name)
{
init(name, 0);
}
Car(const string& name, const int& price)
{
init(name, price);
}
void init(const string& name, const int& price)
{
this->name = name;
this->price = price;
}
private:
string name;
int price;
};