私は次の問題に直面しています。もっと深い遺産があるとします。ここにいくつかの擬似コードは次のとおりです。クラスで列挙型を置き換えます.Templates C++
class MeshEntity{ } // some entities are mesh entities
class SingleMeshEntity : MeshEntity { } // some entites use single meshes
class MultiMeshEntity : MeshEntity { } // some entities use multi meshes
template <class BASE> class CollisionMeshEntity : BASE // base is either SingleMeshEntity or MultiMeshEntity
はあなたには、いくつか列挙型を持っているとしましょう:
enum MESH_TYPE
{
SINGLE,
MULTI
}
は、次のテンプレート(pseudeコード)を使用してテンプレートを作成することが可能です:
template<MESH_TYPE T> CollisionMeshEntity : if(T == SINGLE){SingleMeshEntity } else if (T == MULTI) {MultiMeshEntity}
上記のコードは非常に単純化されています。私のプログラマーには、これ以上の状況があり、より深い継承にも同じ問題があります。
私の目的は、2つ以上の列挙型を取り、すべての基本クラスまですべての正しい継承を追加する単純なテンプレートを最終的に作成することです。
ありがとうございました。
おかげで。それはまさに私が探していたものです。すべての答えが正しいので、私は最初のものを取る。 – kaiser