说明文档如下:
https://blog.csdn.net/qq_37623612/article/details/85267668
目标网址中的程序有改动。
#include<iostream>
#include<stdlib.h>
using namespace std;
//这个例子仅仅是为了说明展示,实际开发中这样做是累赘
void disRE(int x, int y, char note, int(*cal)(int x, int y)) { //int (*cal)(int x, int y):函数指针变量
cout << x << note << y << "的结果为:" << cal(x, y) << endl;
return;
}
//加法
int calAdd(int x, int y) {
return x + y;
}
//减法
int calSub(int x, int y) {
return x - y;
}
//乘法
int calMul(int x, int y) {
return x * y;
}
//除法
int calDiv(int x, int y) {
int rel;
try
{
rel = x / y;
}
catch (...)
{
cout << "除零错误!";
exit(-1);
}
return rel;
}
int main() {
//其实 '+' '-' 这些东西没有用,只不过是作为标识而已
disRE(3, 5, '+', calAdd); //注意:传递实参的时候是直接传递函数名,就是函数指针,不用传递函数内的参数
disRE(3, 5, '-', calSub);
disRE(3, 5, '*', calMul);
disRE(3, 5, '/', calDiv);
system("pause");
return 0;
}