1 °³¿ä
2 °£´ÜÇÑ Å¬·¡½º ¸â¹ö ÇÔ¼ö Äݹé
class TestClass
{
private:
typedef void (TestClass::*PFN_CALLBACK)(int, int);
PFN_CALLBACK m_pfnCallbacks[3];
public:
TestClass()
{
m_pfnCallbacks[0] = &TestClass::FirstFunction;
m_pfnCallbacks[1] = &TestClass::SecondFunction;
m_pfnCallbacks[2] = &TestClass::ThirdFunction;
}
void ExecRandom(int which)
{
int lparam = rand();
int rparam = rand();
(this->*m_pfnCallbacks[which])(lparam, rparam);
}
private:
void FirstFunction(int lparam, int rparam) { ... }
void SecondFunction(int lparam, int rparam) { ... }
void ThirdFunction(int lparam, int rparam) { ... }
};
...
TestClass t;
t.ExecRandom(rand() % 3); ÁöÀúºÐÇÏÁö¸¸ °¡²û ÇÊ¿äÇÒ ¶§°¡ ÀÖ´Ù.
3 ¸µÅ©
SeriousMoin v1 (koMoinMoin 1.0a4 Modified)