課程
/后端開發
/C++
/C++遠征之繼承篇
如果子類繼承自多個父類,那釋放子類的時候難道不會把父類全部釋放掉了嗎?
2016-10-09
源自:C++遠征之繼承篇 5-2
正在回答
?不會的,因為在4.5節中有說到,只有void test1(Person p)這個對象的會先實例化一個對象p,來調用play,并在執行完之后自動銷毀,這樣就會有一個析構函數,之后的兩個都沒有實例化和銷毀的過程,所以效率高,也不會執行析構函數,但是如果加了虛析構函數,就會把父類和子類的內存一起釋放了
不會釋放,需要在父類中用虛析構函數
舉報
繼承,C++面向對象三大特征之一,通過編碼實踐方式講解到操作層面
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-12-05
?不會的,因為在4.5節中有說到,只有void test1(Person p)這個對象的會先實例化一個對象p,來調用play,并在執行完之后自動銷毀,這樣就會有一個析構函數,之后的兩個都沒有實例化和銷毀的過程,所以效率高,也不會執行析構函數,但是如果加了虛析構函數,就會把父類和子類的內存一起釋放了
2016-10-09
不會釋放,需要在父類中用虛析構函數