函数初始化列表

首先上一个例子

1 class Example
2 {
3 public:
4 int x;
5 int y;
6 //函数初始化列表
7 Example ():x(a),y(b){}    
8 //函数内部赋值
9 Example (){this->x=a;this->y=b;}

以下四种情况下需要使用初始化成员列表:

一,需要初始化的数据成员是对象的情况;

       派生类必须在初始化列表中调用基类的构造函数。

二,需要初始化const修饰的类成员;

三,需要初始化引用成员数据;    

       const对象或引用只能初始化不能赋值,构造函数的函数体内只能赋值而不是初始化,因此初始化列表为const和引用的唯一机会。

四,类成员没有默认构造函数类型

原文地址:https://www.cnblogs.com/handsometaoa/p/11007605.html