DXライブラリ 総合スレッド 2008
レス数が950を超えています。1000を超えると書き込みができなくなります。
0969名前は開発中のものです。
2009/03/29(日) 03:22:49ID:uaYHl2HP普通につかって全く問題ない。Cとは表記が違うのだけ注意。
他のクラスには適用できないし、キャストも許可されないので、むしろCより安全に使える
>>964だとこんなかんじ
class Hoge {
public:
Hoge() : target(NULL) {}
typedef void (Hoge::*TargetType)(int param);
TargetType target;
void A() {
TargetType funcs[] = { &Hoge::C, &Hoge::D, &Hoge::E };
target = funcs[rand() % 3];
}
void B(int param) { (this->*target)(param);}
void C(int param) { printf("C called:%d", param);}
void D(int param) { printf("D called:%d", param);}
void E(int param) { printf("E called:%d", param);}
};
>>965
「メンバ関数ポインタ」について調べることをおすすめする
レス数が950を超えています。1000を超えると書き込みができなくなります。