析構函數是當一個對象的生命周期結束時自動調用的一個函數。
在下面的函數中,執行后會發現只有基類的析構函數被調用了,派生類的析構函數并沒有被調用,導致對象沒有被正常的釋放,導致內存泄漏。
把基類的析構函數設置為虛函數,在執行動態調用時就會執向對象的析構函數。
class Subject { public: ~Subject(); Subject(); }; class ConcreteSubject : public Subject { public : ConcreteSubject(); ~ConcreteSubject(); }; Subject * con = new ConcreteSubject(); delete con;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。