文章目录
- 委托构造函数
- 继承构造函数
委托构造函数
以前旧版
class Base
{
public:
Base(int age)
{
this->age = age;
}
Base(int age,int num)
{
this->age = age;
this->num = num;
}
Base(int age,int num,int score)
{
this->age = age;
this->num = num;
this->score= score;
}
int age;
int num;
int score;
};
现在新版
class Base
{
public:
Base(int age)
{
this->age = age;
}
Base(int age,int num):Base(age)
{
this->num = num;
}
Base(int age,int num,int score):Base(age,num)
{
this->score= score;
}
int age;
int num;
int score;
};
用初始化列表初始化成员变量。
继承构造函数
class Base
{
public:
Base(int age)
{
this->age = age;
}
Base(int age,int num)
{
this->age = age;
this->num = num;
}
Base(int age,int num,int score)
{
this->age = age;
this->num = num;
this->score= score;
}
int age;
int num;
int score;
};
class Son : public Base
{
using Base::Base; //直接把父类的构造函数继承下来
};
int main()
{
Son son(1,2,3);
Son son1(1,2);
Son son2(1);
}