スーパークラスのtype_infoが何であるかを確認する方法はありますか?私のシステムでは、オブジェクトはビットのセットによって識別されます。これはtype_infoハッシュコードによって識別されます。私のシステムがそれらが同じビットの下にあると考えるという意味で、これらのタイプのいくつかがポリモーフィズムを可能にすることを望みます。type_infoは、クラスタイプごとに一意のハッシュコードを作成します。代わりに、派生クラスが次のようにスーパークラスのビットセットを取得するようにします。
Component > ISomeInterfaceComponent -> bit = 00001
|
\ ComponentContextA -> bit = ISomeInterFaceComponent bit
|
\ ComponentContextB -> bit = ISomeInterFaceComponent bit
|
\ ComponentContextC -> bit = ISomeInterFaceComponent bit
これにより、コンポーネントを含むオブジェクトが1つのシステムに追加されて処理されます。
今のところ、これは何が起こるかです:
Component > ISomeInterFaceComponent -> bit = 00001
|
\ ComponentContextA -> bit = 00010
|
\ ComponentContextB -> bit = 00100
|
\ ComponentContextC -> bit = 01000
これには、すべてのコンポーネントに対して異なるシステムを作成する必要があります。
誰かが私にこれをどのように達成することができるかについての指針を私に与えることができれば、それは素晴らしいことです。
編集:タイプのビットセットを取得するための混乱を防ぐために、次のようになります。ComponentTypeManager :: getBit();
したがって、私はインスタンスを使用していません。そして、私は現在のシステムをロックしたままにしておきたいです。