關(guān)于函數(shù)調(diào)用的問題,為什么不能直接傳參??
為什么這樣寫是對的 Shape?*S?=?new?Rect(3,5); Shape?*S1?=?new?Circle(5); S->calcArea(); S1->calcArea(); 這樣寫就會報錯呢 Shape?*S?=?new?Rect(); Shape?*S1?=?new?Circle(); S->calcArea(3,5); S1->calcArea(5); 不是已經(jīng)通過virtual函數(shù)可以調(diào)用到子類的成員函數(shù)了嗎,我直接傳參,不用成員變量不可以嗎?
2019-08-14
如果你想直接傳參數(shù)的話,那就不要定義基類的指針,把
Shape?*S?=?
new
?Rect;改成Rect *s=new Rect