请解释如何使用成员初始化列表。
我在一个.h文件和一个.cpp文件中声明了一个类,就像这样:
我在对象创建时初始化m_size,因为它是常量。我应该如何编写构造函数?我应该重复写上:m_size(5), m_top(-1),还是可以省略这一步骤?
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,因为它是常量。我应该如何编写构造函数?我应该重复写上:m_size(5), m_top(-1),还是可以省略这一步骤?
Example::Example(int size, int grow_by)
{
/* ... */
}
或者
Example::Example(int size, int grow_by) : m_size(5), m_top(-1)
{
/* ... some code here */
}