类的构造函数的作用是对其成员进行初始化。而在构造函数中可以使用初始值列表为新创建的对象的成员进行赋值。
1 初始值列表
在类的构造函数名之后紧跟着冒号,冒号后面是要初始化的成员名,之后是圆括号或者花括号括起来的初始值。这样的结构就是构造函数的初始值列表,如下所示。
class A
{
public:
A() :a(1),b(2) {};
int a;
int b;
};
其中,自定义类A具有一个包含了初始值列表的构造函数,使用该构造函数创建对象时,该对象的成员变量a的值是1,b的值是2。
2 类内初始化
对于“1 初始值列表”中提到的自定义类A,如果其还存在多个构造函数,
A(int i) :a(1),b(2) {};
A(int i, int j) :a(1),b(2) {};
A(int i, int j, int z) :a(1),b(2) {};
多个构造函数都包含了相同的初始值列表