C++相談室 part46
■ このスレッドは過去ログ倉庫に格納されています
0890デフォルトの名無しさん
2006/02/11(土) 21:18:46結局のところ、>>816をリファクタリングするのか、
>>816をそのまま実現するかで話は違ってくる。
>>816をそのまま実現するなら、print()の中でswitch〜caseするのが
一番素直な方法だと思うが。
typedef void (hoge::*hoge_print_t)();
static hoge_print_t hoge_print_table[] ={
&hoge::print_a, &hoge::print_b
};
void hoge::print(){
this->*(hoge_print_table[ m_num - 1 ])();
}
こんな方法もあるにはあるけど。
■ このスレッドは過去ログ倉庫に格納されています