C++回调:利用Sink

发表于:2014-5-04 09:54

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:大卫酱_David    来源:51Testing软件测试网采编

  Sink的本质是利用C++的封装、继承、多态的面向对象来实现,从实现角度来说,更优于函数指针回调;
1 // cbBysink.cpp : Defines the entry point for the console application.
2 //
3
4 #include "stdafx.h"
5 #include "cbBysink.h"
6
7 /************************************************************************/
8 /*                上层回调函数                                            */
9 /************************************************************************/
10
11 class CMyWork : public baseCallBack
12 {
13 public:
14     CMyWork()
15     {
16         // 注册回调
17         CWork::registercallback(this);
18     }
19     // 回调注册实现
20     void CallbackFunction(int a, int b)
21     {
22         cout << "a = " << a << ",b = " << b << "\n" << endl;
23         return;
24     }
25     // 触发回调
26     void makefunction(int a, int b)
27     {
28         CWork::makecallback(a, b);
29         return;
30     }
31 protected:
32 private:
33 };
34
35 int main(int argc, char* argv[])
36 {
37     CMyWork c_mywork;
38
39     // 触发的时候不需要进行动态注册
40     c_mywork.makefunction(5, 6);
41
42     return 0;
43 }
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号