c++ - 带有默认关键字的纯虚拟析构函数

标签 c++ c++11 virtual-functions

是否可以将析构函数声明为纯虚拟并使用 default 关键字?例如,我似乎无法编写这样的代码:

class MyClass
{
public:
  // Is there a way to combine pure virtual and default?
  virtual ~ MyClass() = 0,default;
};

当然可以稍后做:

MyClass::~ MyClass() = default;

此外,如果析构函数不是纯虚拟的,则 default 关键字在声明后确实有效。

最佳答案

没有。

您将必须编写一个单独的定义并在此处默认,如您所示。

纯说明符的存在排除了同一位置定义的存在,即使该定义只是一个= default

关于c++ - 带有默认关键字的纯虚拟析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31710196/

相关文章:

c++ - 打印一个已知大小的结构

c++ - 构造函数中的虚函数调用

c++ - Mac OSX 下的 SDL 中不显示图像和文本

c++ - 使用 enable_if 匹配数字作为函数参数

c++ - 如何使我的 C++ 代码能够跨平台?

c++ - 在 c++ 中传递内联临时类需要是 const。如何解决这个问题

c++ - const 和通用引用的重载是否必要?

C++ 指向虚函数的指针

c++ - 从构造函数调用虚函数

c++ - 用于测试类似 strtok 的函数的测试用例 [C++]