C++ 回调函数

一,回调函数

如果参数是一个函数指针,调用者可以传递一个函数地址给实现者,让实现者去调用它,这就是回调函数。同样的我们也可以这样理解回调函数,所谓的回调函数,就是预先在系统对函数进行注册,让系统知道这个函数的存在,以后当某个事件发生时,再调用这个函数对事件进行响应。


二,简单的实现一个回调函数

#include <iostream>
#include <vector>
using namespace std;

class Number{
private:
    typedef void (*Func)(int);
    vector<int> num;
    Func f;
public:
    Number(const vector<int> &num):num(num){}
    void setFunc(Func f){
        this->f = f;
    }
    void process(){
        for(int i = 0; i < num.size(); i ++){
            f(num[i]);
        }
    }
};

void display(int num){
    cout<<num<<"  ";
}

int main(){
    int a[] = {1, 2, 3, 4, 5};
    vector<int> num(&a[0], &a[5]);
    Number obj(num);
    obj.setFunc(display);
    obj.process();
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值