我遇到內存泄漏問題。我有一個基類指針。從它,我使用new
分配不同的派生類。然後,當我嘗試delete
這些類與參考(沒有typecasted),我得到一個內存泄漏。我研究了這個問題,發現我應該向基類添加一個虛擬析構函數,但是我嘗試了這個,並且仍然有內存泄漏;也就是說,根據我的任務管理器,使用基類指針進行派生類的每次分配和刪除時,內存使用率會持續上升。我試着將它作爲一個抽象析構函數並向派生類中添加了析構函數,但是我得到了一個未定義的引用錯誤。我也試着將指針作爲delete
的派生類指針進行類型化,但顯然這會導致程序崩潰。使用基類指針刪除派生類時的內存泄漏
有沒有人有任何想法我應該做什麼?
示例代碼:
組合是使用私有繼承的一個很好的選擇(http://www.parashift.com/c++-faq-lite/private-inheritance.html#faq-24.3) – James 2011-03-03 21:38:51