编写一个函数,使用函数指针(函数回调) 对两个整数进行各种计算

  编写一个计算函数 compute ,对两个整数进行各种计算。

    有一个形参为指向具体算法函数的指针,根据不同的实参函数,用不同的算法进行计算。

    编写三个函数:求两个整数的最大值、最小值、和。分别用这三个函数作为实参,测试 compute 函数。

 

C++代码如下:

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int compute(int a, int b, int(*func)(int, int)) {  //函数指针
 5     return func(a, b);
 6 }
 7 
 8 int max(int a, int b) {
 9     return (a > b) ? a : b;
10 }
11 
12 int min(int a, int b) {
13     return(a < b) ? a : b;
14 }
15 
16 int add(int a, int b) {
17     return a + b;
18 }
19 
20 int main() {
21     int m, n, res_max, res_min, res_add;
22     cin >> m >> n;
23     res_max = compute(m, n, max);
24     res_min = compute(m, n, &min);   //函数名代表的就是函数的起始地址,有无 & 都可以
25     res_add = compute(m, n, add);
26     cout << res_max << res_min << res_add << endl;
27     return 0;
28 }
posted on 2018-05-25 20:40  Pink.Pig  阅读(2726)  评论(0编辑  收藏  举报