默认析构函数可以自动生成为虚拟析构函数吗?
如果我定义了一个基类但没有默认析构函数,是否会自动生成默认的虚拟析构函数?
原文由 user53670 发布,翻译遵循 CC BY-SA 4.0 许可协议
默认析构函数可以自动生成为虚拟析构函数吗?
如果我定义了一个基类但没有默认析构函数,是否会自动生成默认的虚拟析构函数?
原文由 user53670 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
不。使方法虚拟化是有成本的,而 C++ 的理念是不让您为未明确声明要使用的东西付费。如果虚拟析构函数会自动生成,那么您将自动付出代价。
为什么不直接定义一个空的虚拟析构函数?