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 << " " << 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 }