class CExample
{
public:
CExample():m_a(1),m_b(2){/*m_a = 1; compile error*/}
CExample(const CExample&c):m_a(1){/*m_a = 1; compile error*/}
~CExample(){}
private:
const int m_a;
int m_b;
};
总结:
1、类的const成员变量必须在构造函数的参数初始化列表中进行初始化。
2、构造函数内部,不能对const成员赋值,编译器直接报错。
3、构造函数列表初始化执行顺序与成员变量在类中声明相同,与初始化列表中语句书写先后无关。