C メンバーは静的と仮想の両方になれますか?
C では、メンバーを静的と仮想の両方として宣言することはできません。 static virtual member(); のような宣言をコンパイルします。
ただし、次のメソッドを使用して同様の効果を実現できます。
例を次に示します。
<code class="cpp">struct Object { static const TypeInformation& GetTypeInformation(); virtual const TypeInformation& GetTypeInformation() const; }; struct SomeObject : public Object { static const TypeInformation& GetTypeInformation(); virtual const TypeInformation& GetTypeInformation() const override; };</code>
これにより、オブジェクト (object->) の両方で GetTypeInformation() を呼び出すことができます。 ;GetTypeInformation()) およびクラス (SomeObject::GetTypeInformation())。 Object::GetTypeInformation() は基本クラスの実装を返し、SomeObject::GetTypeInformation() はオーバーライドされたバージョンを呼び出します。
以上がC メンバーは静的メンバーと仮想メンバーの両方になれますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。