純粋仮想関数の実装
純粋仮想関数には実装がないという共通の理解にもかかわらず、特定の状況では基本クラス内での実装が可能になります。 。次のコードを考えてみましょう。
class A { public: virtual void f() = 0; }; void A::f() { cout << "Test" << endl; }
このコードは純粋仮想関数の原則に違反しているように見えますが、実際には有効です。ただし、これには 2 つの重要な疑問が生じます:
1.コードは有効ですか?
はい、コードは有効な構文です。派生クラスも独自の実装を提供する必要がありますが、基本クラス A はその純粋仮想関数 f() の実装を定義できます。
2.実装を伴う純粋仮想関数の目的:
純粋仮想関数の実装を定義する潜在的な理由がいくつかあります:
この言語機能は許可されていますが、一般的には使用されないことに注意することが重要です。ただし、デフォルトまたは共有実装が必要な特定のシナリオでは、便利なツールとなる可能性があります。
以上が純粋な仮想関数を実装できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。