結局関数ポインタで切り替える事にしました。

>>191
> 実装依存だから
そうかー。自分の知らない間に新仕様とか出てないかなーと思ったんだけど...

>>192
オーバーライドは継承クラス毎にポインタを持っているけど、
自分がやりたいのは、クラスはそのままで、状態遷移的に処理を分岐させたいのだ。

class MyClass {
  virtual void Func(void) = 0;
  void _FuncA(void){ putchar('A'); }
  void _FuncB(void){ putchar('B'); }
  void _FuncC(void){ putchar('C'); }
  void ChgFunc(void);
};
void MyClass::ChgFunc(void)
{
  this->Func = _FuncA;
  Func();
  this->Func = _FuncB;
  Func();
  this->Func = _FuncC;
  Func();
}
<< 実行結果 >>
ABC
こんな感じ...純粋仮想関数なんでこのままだとインスタンスが作れないけど、概念だけ汲み取ってくれれば...

>>194
Bridge Patternか〜、今度調べてみます。
んでも、そんなに大げさにするつもりでもなかったんだけどね。

ところでデザインパターンの本て、実装例がJavaである事が多いですよねぇ。
C++で解説してる物って無いかな?
なけなしの小遣いはたいて買った本が、Eiffelとかいう訳わからん言語で記述されてて、大失敗でした。