關于構造函數(shù)的調用順序問題
第一次運行時,構造函數(shù)的順序不應該是下面的樣子嗎?老師的執(zhí)行結果怎么Circle()在Coordinate()前了?!
Shape()
Rect()
Shape()
Coordinate()
Circle()
第一次運行時,構造函數(shù)的順序不應該是下面的樣子嗎?老師的執(zhí)行結果怎么Circle()在Coordinate()前了?!
Shape()
Rect()
Shape()
Coordinate()
Circle()
2016-05-24
舉報
2016-08-05
不是這樣的,和其他沒關系,這個主要看你 ? 構造函數(shù)Circle() ? ?中代碼寫的順序
Circle::Circle(double r)
{
cout << "構造函數(shù) Circle::Circle(double r)" << endl;//在前
m_dv = r;
m_pCenter = new Coordinate(3, 5);
}
這樣就先輸出了 Circle()
Circle::Circle(double r)
{
m_dv = r;
m_pCenter = new Coordinate(3, 5);
cout << "構造函數(shù) Circle::Circle(double r)" << endl;//在后
}
這樣就先輸出了?Coordinate
2016-08-05
不是這樣的,和其他沒關系,這個主要看你 ? 構造函數(shù)Circle() ? ?中代碼寫的順序
Circle::Circle(double r)
{
cout << "構造函數(shù) Circle::Circle(double r)" << endl;//在前
m_dv = r;
m_pCenter = new Coordinate(3, 5);
}
這樣就先輸出了 Circle()
Circle::Circle(double r)
{
m_dv = r;
m_pCenter = new Coordinate(3, 5);
cout << "構造函數(shù) Circle::Circle(double r)" << endl;//在后
}
這樣就先輸出了?Coordinate
2016-07-31
這個問題我也很迷惑,感覺跟這一節(jié)的內容有點矛盾http://idcbgp.cn/video/8136
2016-05-24
我覺得不是,如果一個類中有對象成員,那么在構造這個類的對象時,會先執(zhí)行對象成員所在類的構造函數(shù),然后才會執(zhí)行此類的構造函數(shù)。
2016-05-24
應該先實例化Circle()再實例化Coordinate(),你看看Circle()里面包含了Coordinate()