1.构造函数初始化列表
class student
{
public:
student(string name):
Id(0),Name(name){}//构造函数初始化了id为0,Name的值等于name
private:
int Id;
string Name;
}
如果成员是const、引用,或者属于某种未提供默认构造函数的类类型,我们必须通过构造函数初始化列表为这些成员提供初值。
2.委托构造函数
class student
{
public:
student(int id,string name):Id(id),Name(name){}
student(int id):student(id,"张三"){}//使用第一个构造函数初始化其它函数
private:
int Id;
string Name;
}
3.默认构造函数和explicit
默认构造函数比如:student()=default
禁止构造函数隐式转换在前面加上explicit