初始化列表

构造函数初始化时必须采用初始化列表一共有三种情况:   

  1. 需要初始化的数据成员是对象(继承时调用基类构造函数)   
  2. 需要初始化const修饰的类成员   
  3. 成员属于某种类类型且该类没有定义默认构造函数时,也必须将这个成员初始化。(比如:类A中有一成员是B b,但类B中没有定义默认构造函数时,就必须对A中b成员进行初始化)

第三点说明:
随着构造函数体一开始执行(即大括号里面部分),初始化就完成了(构造函数体内只是赋值操作)。因此,上面三种情况,比如初始化const或者引用类型的数据成员的唯一机会就是通过构造函数初始值,形如:ConstRef::ConstRef(int n) : i(n), j(n) { }

猜你喜欢

转载自blog.csdn.net/qq_15905107/article/details/81166660