為什么同樣是帶參數(shù)的構造函數(shù),Coordinate就不用初始化列表,而Line就用初始化列表呢?
我嘗試了Coordinate的帶參構造函數(shù)使用初始化列表
?Coordinate::Coordinate(int x,int y):setX(x),setY(y)
{
cout << "Coordinate" ? <<m_iX<<"," <<m_iY << endl;
};
發(fā)現(xiàn)這樣是無法通過的,編譯出現(xiàn)錯誤
提示setX不是Coordinate的非靜態(tài)數(shù)據(jù)成員或者基類。
cout << "Coordinate" ? <<m_iX<<"," <<m_iY << endl;
2018-05-13
setX(x),setY(y)改成m_iX(x), m_iY(y)
Coordinate是一個沒有無參構造函數(shù)的類,實例化Coordinate類必須傳入參數(shù)才行,所以在Line里初始化Coordinate時必須要使用初始化列表