多态基类的析构函数应该设计为虚析构函数。这样可以确保当派生类对象被删除时,会首先调用派生类的析构函数,再调用基类的析构函数,从而正确释放派生类对象的资源。示例代码如下:
class Base {
public:
virtual ~Base() {}
};
class Derived : public Base {
public:
~Derived() {
// 清理派生类对象的资源
}
};
在这个示例中,基类Base的析构函数被声明为虚析构函数,派生类Derived的析构函数负责清理派生类对象的资源。当Derived对象被删除时,会先调用Derived的析构函数,再调用Base的析构函数,确保资源正确释放。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:C++基类的析构函数如何编写