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