C ++静的仮想メンバー?
C ++ではstaticandとなるメンバー関数を持つことは可能virtualですか?どうやら、それを行う簡単な方法はありません(static virtual member();コンパイルエラーです)が、少なくとも同じ効果を達成する方法はありますか? IE: struct Object { struct TypeInformation; static virtual const TypeInformation &GetTypeInformation() const; }; struct SomeObject : public Object { static virtual const TypeInformation &GetTypeInformation() const; }; GetTypeInformation()インスタンス(object->GetTypeInformation())とクラス(SomeObject::GetTypeInformation())の両方で使用することは意味があります。これは、比較に役立ち、テンプレートに不可欠です。 私が考えることができる唯一の方法は、クラスごとに、またはマクロを使用して、関数と定数の2つの関数を記述することです。 他の解決策はありますか?