是否可以将析构函数声明为纯虚拟并使用 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/