在MFC中的消息处理函数对应关系中应用了成员函数指针,从基类中调用了派生类的成员函数。大概的方法如下:
class T;
class T1;
typedef void (T::*MSG_FUNC)( void );
class T
{
public:
T()
{
}
virtual ~T()
{
}
void test1(MSG_FUNC p)
{
(this->*p)();
}
};
class T1
{
public:
T1()
{
}
virtual ~T1()
{
}
void test2()
{
cout << "test2";
}
};
int main()
{
T t;
t.test1( (MSG_FUNC)&T1::test2 );
return 0;
}