【初心者】スレを立てる前にココで質問を【Part17】at GAMEDEV
【初心者】スレを立てる前にココで質問を【Part17】 - 暇つぶし2ch287:名前は開発中のものです。
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)(); }
};



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch