构造函数设置成员初值方法有两种:一种是在函数体内赋值,另一种是采用初始化列表的形式。
初始化列表BETTER
函数体内赋值
类名::类名(形参1,形参2,...形参n)
{
数据成员1=形参1;
数据成员2=形参2;
...
数据成员n=形参n;
}
初始化列表
类名::类名(形参1,形参2,...形参n):数据成员1(形参1),数据成员2(形参2),...,数据成员n(形参n)
{
...
}
尽量在Initialization初始化
不要在assignment构造函数赋值
//Initialization,尽量在Initialization初始化
Student::Student(string s) :name(s);
{ } //assignment,不要在assignment构造函数赋值
Student::Student(string s)
{
name = s;
}