編寫一個函數,使用函數指針(函數回調) 對兩個整數進行各種計算


  編寫一個計算函數 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 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM