C++相談室 part74
■ このスレッドは過去ログ倉庫に格納されています
0552デフォルトの名無しさん
2009/11/14(土) 22:30:22これよりいいやり方は無いかな?
#include <iostream>
class CHoge
{
typedef void (CHoge::*MemFunc_t)();
MemFunc_t mMemFunc;
public:
void memFuncA() { std::cout << "CHoge::MemFuncA" << std::endl; }
void memFuncB() { std::cout << "CHoge::MemFuncB" << std::endl; }
void setMemFunc(MemFunc_t memFunc) { mMemFunc = memFunc; }
void memFunc() { (this->*mMemFunc)(); }
};
int main(void)
{
CHoge hoge;
hoge.setMemFunc(&CHoge::memFuncA);
hoge.memFunc();
hoge.setMemFunc(&CHoge::memFuncB);
hoge.memFunc();
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています