C/C++--two

面向對象 面向對象設計的三原則:封裝、繼承、多態。 (1)析構函數可以設置爲virtual,爲什麼?   主要是因爲多態的存在,例如一個父類指針指向一個子類對象,試想一下如果子類構造函數如果在堆中分配了內存,而析構其析構函數又不是virtual的,這個指針的靜態類型是父類類型,那麼撤銷這個父類指針時,將只會調用父類的析構函數,而不會釋放子類佔據的內存,造成內存泄漏。 將父類的析構函數設置爲virt
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息