构造函数初始化列表

1.对象初始化列表
(1)对象初始化列表出现原因:
1.1 必须这样做:如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,没有默认构造函数。这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数。
如果没有初始化列表,那么他将无法完成第一步,就会报错。
1.2类成员中若有const修饰,必须在对象初始化的时候,给const int m 赋值
当类成员中含有一个const对象时,或者是一个引用时,他们也必须要通过成员初始化列表进行初始化。
因为这两种对象要在声明后马上初始化,而在构造函数中,做的是对他们的赋值,这样是不被允许的。
(2)C++中提供初始化列表对成员变量进行初始化
语法规则:
Constructor :: Constructor() : m1(v1),m2(v1,v2),m(v3)
{
//some other assignment operation
}

你可能感兴趣的:(构造函数初始化列表)