实现基类的纯虚析构函数

动态 未结 0 126
小小草
小小草 LV1 2023年9月23日 23:20 发表
在C++中,可以通过在基类中声明纯虚析构函数来实现基类的纯虚析构函数。这样做可以确保派生类必须实现自己的析构函数,并且在销毁对象时会正确地调用所有相关的析构函数。 以下是一个示例代码: ``` class Base { public: virtual ~Base() = 0; // 纯虚析构函数 }; Base::~Base() {} // 实现纯虚析构函数 class Derived : public Base { public: ~Derived() override {} }; int main() { Base* ptr = new Derived(); delete ptr; // 调用Derived的析构函数 return 0; } ``` 在上面的代码中,`Base`类中声明了一个纯虚析构函数,但没有提供实现。在`Derived`类中,我们重写了`Base`类的析构函数,并在其中提供了具体的实现。在`main()`函数中,我们创建了一个`Derived`类的对象,并将其指针赋给一个`Base`类的指针。当我们删除该指针时,会先调用`Derived`类的析构函数,然后再调用`Base`类的析构函数。由于`Base`类的析构函数已经被实现,因此程序可以正常运行。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复