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