c++ - C++:析构函数可以是类中唯一的虚函数吗?
问题描述
我读到只有当类中有虚函数时,才应该将析构函数声明为虚拟的。这是一个要求还是可以做其他事情?
解决方案
如果你打算在多态设置中使用你的类,你应该有虚拟析构函数。如果您不打算使用多态性和多态破坏(通过基类进行破坏),那么您不需要虚拟析构函数。
通常,当有虚函数时,我们在多态设置中使用类。没有虚函数会在使用类时强制使用强制转换。那时,我建议简单地使用一个变体,它根本不需要虚拟析构函数。
尽管如此,如果您想要以多态方式公开的唯一操作是破坏,那么在某些情况下它仍然很有用。
推荐阅读
- android - 我们可以在 golang android OS 中打开带有传递 URL 的浏览器吗?
- c++ - 不销毁属于联合成员的类类型的对象是否安全?
- python - 如何更正熊猫数据框中的单词?
- openwrt - 在 OpenWRT 路由器上将 PiHole 用于访客网络
- database - Perl 性能缓慢,文件 I/O 问题或由于 while 循环
- rust - 返回sha256的原始值
- macros - 在 SBCL Common Lisp 实现中,宏扩展何时以及多久发生一次?
- python - ArcGIS Rest API 的多点几何查询仅返回一个结果
- dart - 我如何在其他功能后停止 cron?
- r - 如何放大地图的多个点并将它们全部包含在单独的面板中?