我遇到内存泄漏问题。我有一个基类指针。从它,我使用new
分配不同的派生类。然后,当我尝试delete
这些类与参考(没有typecasted),我得到一个内存泄漏。我研究了这个问题,发现我应该向基类添加一个虚拟析构函数,但是我尝试了这个,并且仍然有内存泄漏;也就是说,根据我的任务管理器,使用基类指针进行派生类的每次分配和删除时,内存使用率会持续上升。我试着将它作为一个抽象析构函数并向派生类中添加了析构函数,但是我得到了一个未定义的引用错误。我也试着将指针作为delete
的派生类指针进行类型化,但显然这会导致程序崩溃。使用基类指针删除派生类时的内存泄漏
有没有人有任何想法我应该做什么?
示例代码:
组合是使用私有继承的一个很好的选择(http://www.parashift.com/c++-faq-lite/private-inheritance.html#faq-24.3) – James 2011-03-03 21:38:51