开发者社区> 问答> 正文

非virtual析构函数版本和virtual析构函数版本在继承体系中的析构函数调用有什么区别?

在C++中,非virtual析构函数版本和virtual析构函数版本在继承体系中的析构函数调用有什么区别?

展开
收起
花开富贵111 2024-06-19 14:19:46 20 0
1 条回答
写回答
取消 提交回答
  • 在非virtual析构函数版本中,决定继承体系中析构函数链调用的因素是指针的声明类型。析构函数的调用从声明指针类型的类开始,依次调用其父类析构函数。而在virtual析构函数版本中,决定继承体系中析构函数链调用的因素是指针的实际类型。析构函数的调用从指针指向的实际类型的类开始,依次调用其父类析构函数。

    2024-06-19 15:06:30
    赞同 1 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载