为了账号安全,请及时绑定邮箱和手机立即绑定

C ++成员初始化列表

C ++成员初始化列表

C++
婷婷同学_ 2019-12-15 16:12:01
请说明如何使用成员初始化列表。我在.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文件中完成。


当您像在示例中的标题中那样进行操作时,是否不会出错?



查看完整回答
反对 回复 2019-12-16
?
九州编程

TA贡献1785条经验 获得超4个赞

成员初始化程序列表应该是源文件中定义的一部分。

将其写在.cpp文件中:


Example ( int size, int grow_by) : m_size(5), m_top(-1)

{


}

头文件应该只有:


Example ( int size, int grow_by = 1 );

头文件仅声明构造函数,成员初始化器列表不是声明的一部分。



查看完整回答
反对 回复 2019-12-16
  • 3 回答
  • 0 关注
  • 511 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信