函数初始化列表

首先上一个例子

class Example
{
public:
    int x;
    int y;
    //函数初始化列表
    Example ():x(a),y(b){}    
    //函数内部赋值
    Example (){
        this->x=a;
        this->y=b;
    }

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

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

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

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

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

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

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

posted @ 2019-06-18 20:51  帅气的涛啊  阅读(767)  评论(0编辑  收藏  举报