由于在写函数回调函数时必须写成全局或者static类型,为了避开这两种方法,而直接把类成员函数传给另一个函数,就可使用这种方法:
例:
1.创建一类;
class CTest
{
void Text(int a);
{
printf("-------a = %d\n",a);
}
}
2.声明函数指针类型
typedef void (CText::*PFun)(int);
3.赋值
PFun pFun = &CTest::Text;
4.创建类对象
CTest g_test;
5.调用
(g_test.*pFun)(3);
注:当需要根据函数名来响应处理时,这种方法适用!
阅读(3012) | 评论(0) | 转发(0) |