關于函數調用的問題,為什么不能直接傳參??
為什么這樣寫是對的 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); 不是已經通過virtual函數可以調用到子類的成員函數了嗎,我直接傳參,不用成員變量不可以嗎?
2019-08-14
如果你想直接傳參數的話,那就不要定義基類的指針,把
Shape?*S?=?
new
?Rect;改成Rect *s=new Rect