Chinaunix首页 | 论坛 | 博客
  • 博客访问: 76520
  • 博文数量: 35
  • 博客积分: 131
  • 博客等级: 入伍新兵
  • 技术积分: 150
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-11 22:57
文章分类

全部博文(35)

文章存档

2016年(15)

2013年(1)

2012年(6)

2011年(13)

我的朋友

分类: C/C++

2011-11-10 20:07:48

由于在写函数回调函数时必须写成全局或者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) |
给主人留下些什么吧!~~