ベース ファブリック要素インターフェイスがあるとします。
class BaseFabricElenent {
public:
BaseFabricElenent(){}
virtual ~BaseFabricElenent(){}
virtual void action(){}
};
列挙があります:
enum TypeCode {
TypeCodeLive = 10,
TypeCodeDie = 100
};
そして、TypeCodes の実装があります。
通常の生地と同じようにtype
、希望通りの生地を手に入れたいと考えています。TypeCode
BaseFabricElenent*
プリプロセッサの定義を介してファブリックにタイプを追加する方法は?
いう:
class LiveFabricElenent: pulic BaseFabricElenent {
public:
LiveFabricElenent() :
BaseFabricElenent(){}
virtual ~LiveFabricElenent(){}
virtual void action(){}
};
ADD_TO_FABRIC(LiveFabricElenent);
アップデート:
グローバル初期化フェーズでのファクトリへの型の登録に関するこの役立つ記事を見つけました 。registring 型のスタブ クラスを生成する Define を作成するだけです。