类成员变量初始化方法
一、成员变量初始化方法
c++11标准中允许类成员变量在声明时初始化,
成员变量初始化有三种方法:声明时初始化、初始化列表、构造函数初始化
二、成员变量初始化顺序
三种方法的顺序为:先进行声明时初始化,然后进行初始化列表初始化,最后进行构造函数初始化。因此初始化列表初始化的变量值会覆盖掉声明时初始化的值,而构造函数中初始化的值又会覆盖掉初始化列表的。
注意: 初始化列表中初始化的顺序是和变量声明的顺序一样,而与列表中的顺序无关
三、成员变量声明时初始化好处
声明时初始化的好处是带来了很大的便捷,虽然声明时初始化在一定程度上破坏了类的抽象性,但是却能带来很大便捷:
- 和初始化列表以及构造函数相比的优势是:假如你有10个构造函数,那么你每一个构造函数都要复制一次成员变量的默认参数,显然在做重复的无用工作,而在声明时初始化就只需要一次!