开发者社区 问答 正文

为什么在设计基类时,通常会建议将析构函数声明为virtual?

为什么在设计基类时,通常会建议将析构函数声明为virtual?

展开
收起
花开富贵111 2024-06-19 14:19:44 97 分享 版权
1 条回答
写回答
取消 提交回答
  • 在设计基类时,将析构函数声明为virtual是为了确保在通过基类指针或引用删除派生类对象时,能够正确地调用派生类的析构函数以及基类析构函数,从而避免资源泄漏和未定义行为。如果没有将基类析构函数声明为virtual,那么在删除派生类对象时,只会调用基类的析构函数,而派生类的析构函数则不会被调用,这可能会导致资源未正确释放或其他问题。

    2024-06-19 15:06:26
    赞同 展开评论
问答地址: