1 #include <WINDOWS.H>
2 #include <IOSTREAM>
3 using namespace std;
4 /************************************************************************/
5 /*                下层回调定义                                            */
6 /************************************************************************/
7
8 class baseCallBack
9 {
10 public:
11     virtual void CallbackFunction(int a, int b){};        // 虚函数,提供上层实现
12 protected:
13 private:
14 };
15
16 class CWork
17 {
18 public:
19     static void registercallback(baseCallBack *pbCallback);
20     static void makecallback(int a, int b);
21 protected:
22 private:
23     static baseCallBack *m_pbCallback;
24 };
25
26 baseCallBack *CWork::m_pbCallback = NULL;
27
28 // 提供注册函数
29 void CWork::registercallback(baseCallBack *pbCallback)
30 {
31     if (pbCallback != NULL)
32     {
33         m_pbCallback = pbCallback;
34     }
35 }
36
37 // 提供触发接口
38 void CWork::makecallback(int a, int b)
39 {
40     m_pbCallback->CallbackFunction(a, b);
41 }