虚拟析构函数声明后的覆盖标识符是否有任何特殊含义?
class Base
{
public:
virtual ~Base()
{}
virtual int Method() const
{}
};
class Derived : public Base
{
public:
virtual ~Derived() override
{}
virtual int Method() override // error: marked override, but does not override - missing const
{}
};
Run Code Online (Sandbox Code Playgroud)
在虚方法上使用覆盖标识符作为检查非常有用:当Base虚方法实际上未被覆盖时,编译器将报告错误.
虚拟析构函数上的覆盖是否也有任何含义/功能?