回调函数
1 #include<QDebug> 2 3 int sum(int x, int y){ 4 return x+y; 5 } 6 7 int sub(int x, int y){ 8 return x-y; 9 } 10 11 int mul(int x, int y){ 12 return x*y; 13 } 14 15 int compute(int (*fun_ptr)(int, int), int x, int y){ 16 /** 17 * do somthing 省略一万行代码 18 **/ 19 return fun_ptr(x, y); 20 } 21 22 int main(){ 23 qDebug()<< compute(sum, 5, 10); 24 qDebug()<< compute(sub, 5, 10); 25 qDebug()<< compute(mul, 5, 10); 26 27 }
其实,回调函数就是c的多态。。。。。。。。通过传入的函数指针来确定调用哪个函数。