龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

c++回调之利用sink示例

时间:2014-05-15 02:17来源:网络整理 作者:网络 点击:
分享到:
Sink的本质是利用C++的封装、继承、多态的面向对象来实现,从实现角度来说,更优于函数指针回调,下面是示例

代码如下:

// cbBysink.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "cbBysink.h"

/************************************************************************/
/*                上层回调函数                                            */
/************************************************************************/

class CMyWork : public baseCallBack
{
public:
    CMyWork()
    {
        // 注册回调
        CWork::registercallback(this);
    }
    // 回调注册实现
    void CallbackFunction(int a, int b)
    {
        cout << "a = " << a << ",b = " << b << "\n" << endl;
        return;
    }
    // 触发回调
    void makefunction(int a, int b)
    {
        CWork::makecallback(a, b);
        return;
    }
protected:
private:
};

int main(int argc, char* argv[])
{
    CMyWork c_mywork;

    // 触发的时候不需要进行动态注册
    c_mywork.makefunction(5, 6);

    return 0;
}

精彩图集

赞助商链接