請說明如何使用成員初始化列表。我在.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 關注
- 540 瀏覽
添加回答
舉報
0/150
提交
取消