C++:析构函数可以是类中唯一的虚函数吗?

问题描述

我读到只有在类中存在虚函数时才应将析构函数声明为虚函数。 这是一项要求还是可以做其他事情?

解决方法

如果你打算在多态设置中使用你的类,你应该有虚拟析构函数。如果您不打算使用多态和多态销毁(通过基类销毁),那么您不需要虚拟析构函数。

通常,当有虚函数时,我们在多态设置中使用类。在使用类时,没有虚函数会强制使用强制转换。在这一点上,我会建议简单地使用一个变体,它根本不需要虚拟析构函数。

综上所述,如果您想以多态方式公开的唯一操作是销毁,那么在某些情况下它仍然很有用。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...