寫C++時,可將函數指標用來作為另一個函數的參數。
如此該函數將可依傳入的函數指標決定呼叫不同函數。
函數指標作為函數參數的宣告語法如下:
回傳資料型態 函數名稱(參數1 資料型態, 參數2 資料型態, ....
回傳資料型態(*函數指標名稱)(參數1 資料型態, 參數2 資料型態, ....));
範例如下:
// =================================
// FileName: FuncPtr2.cpp
// Author: Edison.Shih.
#include <iostream.h>
int Add_Num(int, int);
int Sub_Num(int, int);
void Cal_Num(char*, int, int, int (*)(int, int));
// =================================
int main(int argc, char **argv)
{
int x, y;
cout << "input x:";
cin >> x;
cout << "input y:";
cin >> y;
Cal_Num("x+y=", x, y, Add_Num);
cout << endl;
Cal_Num("x-y=", x, y, Sub_Num);
cout << endl;
return 0;
}
// =================================
int Add_Num(int a, int b) {return (a+b);}
int Sub_Num(int a, int b) {return (a-b);}
void Cal_Num(char *show, int a, int b, int (*p_Func)(int, int))
{
cout << show << (*p_Func)(a, b);
}
// =================================
輸出結果如下所示:
input x:3
input y:4
x+y=7
x-y=-1
留言列表