请说明如何使用成员初始化列表。我在.h文件和这样的.cpp文件中声明了一个类:class Example{private: int m_top; const int m_size; ...public: Example ( int size, int grow_by = 1 ) : m_size(5), m_top(-1); ... ~Example();};m_size由于,我正在初始化对象创建const。我应该如何编写构造函数?我应该重复执行: m_size(5), m_top(-1),还是可以省略此步骤?Example::Example( int size, int grow_by){... some code here}要么Example::Example( int size, int grow_by) : m_size(5), m_top(-1){... some code here}
3 回答
侃侃无极
TA贡献2051条经验 获得超10个赞
这是初始化列表:
Example::Example( int size, int grow_by) : m_size(5), m_top(-1)
{
... some code here
}
并且只能在cpp文件中完成。
当您像在示例中的标题中那样进行操作时,是否不会出错?
九州编程
TA贡献1785条经验 获得超4个赞
成员初始化程序列表应该是源文件中定义的一部分。
将其写在.cpp文件中:
Example ( int size, int grow_by) : m_size(5), m_top(-1)
{
}
头文件应该只有:
Example ( int size, int grow_by = 1 );
头文件仅声明构造函数,成员初始化器列表不是声明的一部分。
- 3 回答
- 0 关注
- 511 浏览
添加回答
举报
0/150
提交
取消