抽象クラスをvectorにいれたい
Posted: 2009年12月03日(木) 13:33
お久しぶりです
今C++とDXライブラリで制作中のゲームで描画関係だけをクラス配列でまとめて管理したいです
具体的にいうと・・・
std::vector<Draw> draw;
draw.push_back(new DrawLine());
といった感じです
Drawは描画関係の抽象クラスで更新、描画クラスのみ定義しています
DrawLineはDrawクラスを継承し、直線を描画するという描画メソッドを定義し、vectorに追加します
タスクシステムのまねごとのような感じです
ちなみに上を実装しようとした場合Drawクラスを定義し、vectorを作った時点で「抽象クラスはインスタンス化できません」というコンパイルエラーがでてしまいます
上を実装しようとした場合、どのようにすればいいのでしょうか
vectorにこだわっているわけではないですが描画するだけなのでタスクシステムほど大掛かりでなくてもいいのでお願いします
今C++とDXライブラリで制作中のゲームで描画関係だけをクラス配列でまとめて管理したいです
具体的にいうと・・・
std::vector<Draw> draw;
draw.push_back(new DrawLine());
といった感じです
Drawは描画関係の抽象クラスで更新、描画クラスのみ定義しています
DrawLineはDrawクラスを継承し、直線を描画するという描画メソッドを定義し、vectorに追加します
タスクシステムのまねごとのような感じです
ちなみに上を実装しようとした場合Drawクラスを定義し、vectorを作った時点で「抽象クラスはインスタンス化できません」というコンパイルエラーがでてしまいます
上を実装しようとした場合、どのようにすればいいのでしょうか
vectorにこだわっているわけではないですが描画するだけなのでタスクシステムほど大掛かりでなくてもいいのでお願いします