为什么派生类中的虚拟析构函数为空?

2024-01-26

我有一个问题,我看到在某些代码中,派生类中的虚拟析构函数是空的,那么为什么我们需要它,因为它什么也不做?它是否用于调用基类中的析构函数,如果没有它,则无法调用析构函数?或者它只是一个符号来告诉代码阅读器这个析构函数是虚拟的,这使得代码更容易阅读?谢谢!


既然它什么也没做,为什么我们需要它?

如果基类已经有一个虚拟析构函数,我们就不会have to在派生类中定义一个空的。将其放在那里的唯一原因是提醒代码的其他读者该类有一个虚拟析构函数。

它是否用于调用基类中的析构函数,如果没有它,则无法调用析构函数?

空析构函数确实以与非空或继承析构函数相同的方式参与析构函数链接。只要基类具有虚拟析构函数,提供空重写就不会改变行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么派生类中的虚拟析构函数为空? 的相关文章

随机推荐