.设计一个函数,使用函数指针做形参,每次实现不同的功能:求两个数之和。
时间: 2024-12-04 19:24:01 浏览: 12
程序设计-指针作为main函数的形参.pptx
你可以设计一个函数模板,它接受一个函数指针作为参数,然后根据这个指针调用不同的操作。下面是一个简单的例子,假设我们有两个函数,一个是求和,另一个是求乘积:
```cpp
#include <iostream>
// 定义两个静态成员函数,分别表示求和和求乘积
class MathOperations {
public:
static int add(int a, int b) { return a + b; }
static double multiply(int a, int b) { return (double)a * b; }
};
// 函数模板,接受一个函数指针作为参数
template <typename T>
void applyFunction(T (*function)(int, int), int a, int b) {
result = function(a, b); // 其中result用于保存计算结果
std::cout << "Result using " << typeid(function).name() << ": " << result << std::endl;
}
int main() {
// 使用函数指针传递求和函数
applyFunction(MathOperations::add, 5, 7);
// 使用函数指针传递乘法函数
applyFunction(MathOperations::multiply, 5, 7);
return 0;
}
```
在这个例子中,`applyFunction`模板可以根据传入的不同函数指针调用对应的加法或乘法操作。在`main`函数中,我们将这两个函数指针传递给了`applyFunction`,实现了不同的功能。
阅读全文