C、C++类实现的回调

这篇博客详细介绍了如何在C和C++中实现回调函数。首先通过一个C语言的例子展示了如何使用函数指针实现回调,然后在C++中通过类的方法实现了类之间的回调。在C++的示例中,定义了一个回调函数类型指针,创建了回调类,并通过成员函数作为回调函数。最后,创建了一个注册类来设置和调用回调函数。
摘要由CSDN通过智能技术生成

回调函数其实就是对函数指针的应用,要求用户按照相程序员规定的函数指针类型来世实现定义的函数。

1、第一种方式 c语言中实现回调

#include<iostream>
#include<Windows.h>
using namespace std;

//用户不可见
int(*pc)(int a, int b);

/*
由用户实现 回调函数
允许用户自定义实现的函数由用户按照函数指
针参数类型返回值 函数内部细节有自己实现 
*/
 int  Callback(int a, int b)
 {
     cout<< a + b<<endl;
     return 1;
 }

 //实现用户不可见
 void register_callBack(int(*tmp)(int a, int b))
 {
     pc = tmp;
 }

 //用户不可见
 void _call()
 {
     //调用函数指针
     pc(3,5);
 }

int main(void)
{
    //用户调用
    register_callBack(Callback);

    //用户不可见
    while (1)
    {
        _call();
        Sleep(1000);
    }
    return 0;
}

第二 c++类之间的回调

//全局的函数指针
typedef

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值