类的const成员初始化
程序员文章站
2022-07-12 22:51:02
...
类的const成员初始化
class CExample
{
public:
CExample() : m_a( 1 ), m_b( 2 )
{
/*m_a = 1; compile error*/
}
~CExample()
{
}
private:
const int m_a;
//or const int m_a=1;(C++11后支持)
int m_b;
};
总结:
-
对于const变量,在类内声明必须初始化。
(1)类的const成员变量必须在构造函数的参数初始化列表中进行初始化。
(2)C++11后可在类中声明时直接赋值。 -
构造函数内部,不能对const成员赋值,编译器直接报错。
-
构造函数列表初始化执行顺序与成员变量在类中声明相同,与初始化列表中语句书写先后无关。
上一篇: java的类成员初始化