仮想関数を使用すると、派生クラスの基本クラス関数をオーバーライドし、オブジェクト タイプに基づいて実行時に適切な関数を呼び出すことができます。 仮想関数を作成します。基本クラスで virtual キーワードを使用して関数を宣言します。仮想関数をオーバーライドする: 派生クラスで override キーワードを使用して、基本クラスの仮想関数をオーバーライドします。実際の呼び出し: 派生クラス オブジェクトが基本クラス ポインターまたは参照を通じてポイントされると、オーバーライドされたバージョンが呼び出されます。カバーされていない仮想関数: オーバーライドされていない場合、基本クラスの元の実装が呼び出されます。ポインターまたは参照を使用した呼び出し: ポリモーフィズムを実装すると、基本クラスからのポインターまたは参照が派生クラス オブジェクトをポイントできるようになり、実行時に適切なオーバーライド関数を呼び出すことができます。
#C 仮想関数の実践的な応用: コード例とトラブルシューティング仮想関数の概要仮想関数は、C 仮想関数のポリモーフィズムの一種です。 Cメカニズム。これにより、基本クラスの関数を派生クラスでオーバーライドできるようになり、実行時にオブジェクトの実際の型に基づいて適切な関数を呼び出すことができます。 仮想関数の作成仮想関数を作成するには、次のようにvirtual キーワードを使用して基本クラスで関数を宣言する必要があります。
仮想関数のオーバーライド
キーワードを使用して基本クラスの仮想関数をオーバーライドできます。 次の簡単な例を考えてみましょう:
class Base { public: virtual void print() { cout << "Base class" << endl; } };
が、使用される
speak() 仮想関数を定義します。 in Dog
派生クラスでオーバーライドされます。 Animal*
ポインタを介して speak()
関数を呼び出すと、オーバーライドされたバージョンが呼び出され、「犬の鳴き声」が出力されます。 質問解決
回答: ポリモーフィズムを実現するには、基本クラスのポインターまたは参照が派生クラスのオブジェクトを指すことができ、実行時に適切なオーバーライド関数を呼び出すことができます。
Q: 仮想関数が派生クラスでオーバーライドされていない場合はどうなりますか?回答: この場合、基本クラスの元の実装が呼び出されます。
以上がC++ 仮想関数の実践的な応用: コード例とトラブルシューティングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。