C++学习 初始化列表

class CExample {
public:
    int a;
    float b;
    //构造函数初始化列表
    CExample(): a(0),b(8.8) {}
    //构造函数内部赋值
    CExample()
    {
        a=0;
        b=8.8;
    }
};

构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式


以下情况必须使用初始化列表:
1.成员类型是 没有默认构造函数的类 。若没有提供显示初始化式,则编译器隐式使用成员类型的默认构造函数,若类没有默认构造函数,则编译器尝试使用默认构造函数将会失败。
2. const成员 引用类型 的成员。因为const对象或引用类型只能初始化,不能对他们赋值。  

初始化列表的成员初始化顺序:
    C++初始化类成员时,是 按照声明的顺序初始化的 ,而不是按照出现在初始化列表中的顺序。
    析构函数的顺序和类成员定义的顺序是相反的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值