c++ - 具体类的析构函数

标签 c++ virtual-destructor

指南#4 link text , 状态:

A base class destructor should be either public and virtual, or protected and nonvirtual.

可能我遗漏了一些东西,但如果我只是创建一个具体类,它不是设计为用作基类的。

我应该将它的析构函数声明为公共(public)和虚拟的吗?通过这一点,我隐含地声明我的类“已准备好用作基类”,而这不一定是真的。

最佳答案

链接文本明确说“基类析构函数应该是”...

指南仅适用于设计用作基类的类。如果您要创建一个不用作基类的具体类,则应将公共(public)构造函数保留为非虚拟。

关于c++ - 具体类的析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1711161/

相关文章:

c++ - realloc 函数,适用于使用 new 而不是 realloc 分配的内存

c++ - ROS 是否保证消息传递?

c++ - Opengl 创建一个 3d 框而不是一个简单的三角形

c++ - Keil:虚拟或 protected 析构函数和堆

C++ 函数模板按值特化 (-1)

c++ - 变量在循环中显示但不在循环中

c++ - 虚拟析构函数和 delete 关键字

c++ - Valgrind 在 std::make_unique 中显示内存泄漏

c++ - 访问冲突 - 为什么基类析构函数被调用两次?

c++ - 当类 A 的析构函数是虚函数或非虚函数时,为什么 B 的类成员 n 具有不同的值?