任意输入两个整数,编写三个函数分别实现:(1)计算两个数的加法和; (2) 计算两个整数的减法差; (3)交换这两个整数的数值。 要求用”函数指针” 调用这三个函数, 结果在主函数中输出。 目前已编写
时间: 2024-11-29 15:35:18 浏览: 1
为了实现这个功能,首先我们需要定义三个函数,分别对应加法、减法和交换操作。然后我们将这些函数的地址作为参数传递给函数指针。以下是用C++语言编写的示例:
```cpp
#include <iostream>
// 定义函数指针类型
using Func = int(*) (int, int);
// 函数1:加法
int add(int a, int b) {
return a + b;
}
// 函数2:减法
int subtract(int a, int b) {
return a - b;
}
// 函数3:交换值
void swap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
// 主函数
int main() {
// 输入两个整数
int num1, num2;
std::cout << "请输入两个整数:";
std::cin >> num1 >> num2;
// 函数指针,分别指向上述三个函数
Func addFunc = &add;
Func subtractFunc = &subtract;
Func swapFunc = &swap;
// 使用函数指针调用各函数并打印结果
std::cout << "加法结果:" << (*addFunc)(num1, num2) << std::endl;
std::cout << "减法结果:" << (*subtractFunc)(num1, num2) << std::endl;
// 注意:直接使用函数指针交换值不会改变原始变量,这里需要先保存一个临时副本
int tempNum1 = num1;
(*swapFunc)(tempNum1, num2);
std::cout << "交换后的第一个数:" << tempNum1 << ",第二个数:" << num2 << std::endl;
return 0;
}
```
在这个例子中,我们创建了`Func`类型的函数指针,并将其指向每个实际的函数。在主函数中,通过`*`运算符结合函数指针来调用它们,实现了对输入整数的操作。
阅读全文