How to call destructor from base class which is not virtual?
本问题已经有最佳答案,请猛点这里访问。
假设我有一个从另一个类继承的类,并且我创建了一个从基类点到派生类对象的指针。现在,如果基类析构函数被定义为虚拟的,那么它就不会创建任何问题。但是,在我的例子中,基类析构函数没有声明为虚拟的,所以当我删除这个指针时,它将导致内存泄漏。
如何在不修改基类代码的情况下克服这一点?
假设您的意思是您有
处理这种情况的一个简单方法是使用智能指针,如
更一般地说,不要使用显式的
可以将基类强制转换为派生类并调用Delete。