欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

类的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;
};

总结:

  1. 对于const变量,在类内声明必须初始化。
    (1)类的const成员变量必须在构造函数的参数初始化列表中进行初始化。
    (2)C++11后可在类中声明时直接赋值。

  2. 构造函数内部,不能对const成员赋值,编译器直接报错。

  3. 构造函数列表初始化执行顺序与成员变量在类中声明相同,与初始化列表中语句书写先后无关。

相关标签: C/C++进阶