#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int add(int num1,int num2)
{
return num1+num2;
}
int subtract(int num1,int num2)
{
return num1-num2;
}
int mutiply(int num1,int num2)
{
return num1*num2;
}
int divide(int num1,int num2)
{
return num1/num2;
}
int main(int argc, char** argv) {
int a,b,c;
int (*arr[4])(int,int)={add,subtract,mutiply,divide};
cout<<"请输入两个数字:"<<endl;
cin>>a>>b;
cout<<"请输入要执行的计算:"<<endl;
cin>>c;
int num=(arr[c-1])(a,b);
cout<<num;
return 0;
}
函数指针:
int (*sortFunc)(参数1,参数2);()中也可以无参。
函数指针数组:
int (*arr[4])(int,int)={add,subtract,mutiply,divide};
函数指针数组使用的前提是形参完全相同,返回值相同。
如果相同类型的函数很多,调用时用函数指针会比使用if...else..方便很多。