开发者社区 问答 正文

为什么基类的析构函数一般要声明为虚析构函数?

为什么基类的析构函数一般要声明为虚析构函数?

展开
收起
三分钟热度的鱼 2024-05-17 14:51:17 122 分享 版权
1 条回答
写回答
取消 提交回答
  • 在类继承的场景中,基类的析构函数一般要声明为虚析构函数。这是因为,当通过基类指针删除派生类对象时,如果基类的析构函数不是虚函数,就只会调用基类的析构函数,而不会调用派生类的析构函数。这可能导致派生类的资源没有被正确释放,从而造成内存泄漏。因此,为了确保派生类的资源能被正确释放,基类的析构函数通常需要声明为虚析构函数。

    2024-05-17 15:34:35
    赞同 1 展开评论
问答地址: