為什么在Line.h中實例化不需要傳入參數
想問下,在Line.h中,
Coordinate m_coorA;
Coordinate m_coorB;
這兩行代碼是類的成員變量,同時也是將Coordinate類中的兩個對象實例化了對吧。那么Coordinate的構造函數如圖一寫成了
Coordinate::Coordinate(int x,int y)
{
m_iX=x;
m_iY=y;
cout<<"did it"<<endl;
}
這是有參數的構造函數,那不是矛盾了嗎?構造函數有參數,對應的對象實例化的時候卻是沒有參數的
2019-08-31
在Line.h中,Coordinate m_coorA;Coordinate m_coorB; 僅僅是申明這個line類有這個成員,并沒有實例化,所以并沒執行構造函數,只有實例化時才執行構造