C++ 回调函数

来源:互联网 发布:flash软件怎么用 编辑:程序博客网 时间:2024/06/09 16:57

一,回调函数

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


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

#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;}

原创粉丝点击