66

仮想デストラクタ宣言後のオーバーライド識別子には特別な意味がありますか?

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
    {}
};

仮想メソッドでオーバーライド識別子を使用すると、チェックとして役立ちます。ベース仮想メソッドが実際にオーバーライドされていない場合、コンパイラはエラーを報告します。

仮想デストラクタのオーバーライドにも意味/機能がありますか?

4

2 に答える 2