Codejie's C++ Space

Using C++

回调函数定义方法

    C++的回调函数定义方法使用了无数次,就是记不住。。。这里再copy一次:
 1 typedef int (*callback)(int param1, char* param2);
 2 
 3 Syntax
 4     typedef return_code  (*function_virtual_name)(parameters list);
 5 
 6 Example
 7 class CCall;
 8 typedef int (*callback)(CCall* call, int i);
 9 class CCall{
10 public:
11     CCall(int i = 0)
12         : _i(i)
13     {};
14     virtual ~CCall() {}
15     
16     int becall(int i) { return call(i); }
17     virtual int call(int i) = 0;
18 private:
19     int _i;
20 };
21 
22 static int Func(CCall* call, int i)
23 {
24     return call->becall(i);
25 }
26 


posted on 2009-03-23 14:06 codejie 阅读(2350) 评论(3)  编辑 收藏 引用 所属分类: C++

评论

# re: 回调函数定义方法 2009-03-23 16:35 Sunshine Alike

估计亲手写到自己的程序里几次就记住了,不过我没用过,学习了!  回复  更多评论   

# re: 回调函数定义方法 2009-03-23 21:34 陈梓瀚(vczh)

double add1(double i){return i+1;}
double add2(double i){return i+2;}
double add3(double i){return i+3;}

double (*adds[3])(double)={add1,add2,add3};

double (*get_add(int i))(double)
{
return adds[i];
}  回复  更多评论   

# re: 回调函数定义方法 2009-03-23 22:51 codejie

帮忙看看后面一篇那个连接问题吧~  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

Using C++

导航

统计

留言簿(73)

随笔分类(513)

积分与排名

最新评论

阅读排行榜

评论排行榜