【初心者】スレを立てる前にココで質問を【Part17】at GAMEDEV【初心者】スレを立てる前にココで質問を【Part17】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト287:名前は開発中のものです。 08/06/17 02:48:32 sJZvekW7 パターンデザイン的には3だよね。 いわゆるストラテジパターンというやつ。 あとはメンバ関数へのポインタを使って入れ替えるとかね。 class Hoge { private: // メンバ関数型を定義 typedef void (Hoge::*ACTION_PTR)(void); // メンバ関数へのポインタを格納する変数 ACTION_PTR action; public: // 行動のセット void action1(void) {} void action2(void) {} void action3(void) {} // コンストラクタで初期値を設定 Hoge() { action = &Hoge::action1; } // 同様の構文でメンバ関数を変更可能 //ポインタを通してメンバ関数起動 void update(void) { (this->*action)(); } }; 288:名前は開発中のものです。 08/06/17 09:37:29 XINqrfBX ストラテジーパターンだな 289:名前は開発中のものです。 08/06/17 15:08:42 sS8dV5wo 1が簡単とはおもえんのだがw >>287 C++はよくわからんが、行動のセットってクラス外にださんの? なんか見通しが悪い気がするんだが 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch