相关疑难解决方法(0)

没有虚拟析构函数可能会发生内存泄漏?

#include <iostream>
using namespace std;
class base
{
   int a;
 public: 
   base() {a =0;}
 };
 class derv :public base
 {
   int b;
  public:
   derv() {b =1;}
 };
 int main()
 {
    base *pb = new derv();
    delete pb;
 }
Run Code Online (Sandbox Code Playgroud)

我在derv类中没有虚拟析构函数,它只删除了derv对象的基本部分吗?

c++ polymorphism dynamic-memory-allocation virtual-destructor

11
推荐指数
1
解决办法
3699
查看次数