C++のoverrideをどのように呼び出すか。

C++で、overrideキーワードを使って基底クラスの仮想関数を明示的にオーバーライドすることができる。overrideキーワードの使い方は以下の通りです:

class Base {
public:
    virtual void foo() const {
        cout << "Base::foo()" << endl;
    }
};

class Derived : public Base {
public:
    void foo() const override {
        cout << "Derived::foo()" << endl;
    }
};

int main() {
    Derived d;
    d.foo(); // 调用Derived类中的foo()函数
    return 0;
}

上記のサンプルコードでは、DerivedクラスはBaseクラスを継承し、Baseクラスの仮想関数foo()をオーバーライドしています。Derivedクラスのfoo()関数にoverrideキーワードを使うことで、コンパイラがその関数が本当に基本クラスの仮想関数をオーバーライドしているかを検証できます。

main()関数内で、Derivedクラスのオブジェクトdを作成し、そのfoo()関数を呼び出しました。foo()関数はオーバーライドされているため、コンパイラは自動的にDerivedクラス内のfoo()関数を呼び出し、結果として”Derived::foo()”という出力が行われます。

bannerAds