类成员函数指针使用步骤:
1. 用【::*】声明一个成员指针类型(例如:类型声明为 pmfT
2. 定义变量(比如:pmfT pmfV)
3. 赋值(比如: pmfV = &CDemo::mf1 )
4. 用【.*】或【->*】调用成员函数(比如:(demo.*pmfV)(101) )
例程:
class CDemo
{
public:
void mf1(int i){ printf("mf1: %d\n",i); };
void mf2(int i){ printf("mf2: %d\n",i); };
};
typedef void (CDemo::*pmfT)(int); // 声明成员函数指针类型 pmfT
int main()
{
CDemo demo;
pmfT pmfV = NULL; // 定义 成员函数指针 变量
// 调用mf1
pmfV = &CDemo::mf1; // pmfV指向CDemo::mf1
(demo.*pmfV)(101);
// 调用mf2
pmfV = &CDemo::mf2; // pmfV指向CDemo::mf2
(demo.*pmfV)(102);
return 0;
}