4

我有base类和继承类的base类:

class base
{
};

class derived : public base
{ 
    std::string str;
};

我需要derived使用指向类的指针来管理一个类base,但以下代码会导致内存泄漏:

base* ptr = new derived();
delete ptr;

我要投ptr,还是有更好的选择?

4

1 回答 1

7

您需要基类中的虚拟析构函数,以便在运行时找到并调用派生类的析构函数。有关更多详细信息,请参阅此问题和答案

于 2012-07-04T19:14:16.990 回答