C ++成员初始化列表

请说明如何使用成员初始化列表。我在.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

}


婷婷同学_
浏览 512回答 3
3回答

侃侃无极

这是初始化列表:Example::Example( int size, int grow_by) : m_size(5), m_top(-1){... some code here}并且只能在cpp文件中完成。当您像在示例中的标题中那样进行操作时,是否不会出错?

九州编程

成员初始化程序列表应该是源文件中定义的一部分。将其写在.cpp文件中:Example ( int size, int grow_by) : m_size(5), m_top(-1){}头文件应该只有:Example ( int size, int grow_by = 1 );头文件仅声明构造函数,成员初始化器列表不是声明的一部分。
打开App,查看更多内容
随时随地看视频慕课网APP