C++定义4个实现加减乘除运算的函数,用std::vector保存函数指针,并输出4个函数指针
时间: 2024-10-19 14:08:27 浏览: 15
首先,我们需要定义4个实现加减乘除运算的函数。然后,我们将使用`std::vector`来保存这些函数的指针。最后,我们将输出这4个函数指针。
以下是代码示例:
```cpp
#include <iostream>
#include <vector>
#include <functional>
// 定义四个实现加减乘除运算的函数
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
int multiply(int a, int b) {
return a * b;
}
int divide(int a, int b) {
if (b == 0) {
throw std::runtime_error("除数不能为0");
}
return a / b;
}
int main() {
// 使用std::vector保存函数指针
std::vector<std::function<int(int, int)>> operations;
operations.push_back(add);
operations.push_back(subtract);
operations.push_back(multiply);
operations.push_back(divide);
// 输出4个函数指针
for (const auto& op : operations) {
std::cout << &op << std::endl;
}
return 0;
}
```
这段代码首先定义了四个函数,分别实现了加、减、乘、除运算。然后,我们创建了一个`std::vector`,其元素类型为`std::function<int(int, int)>`,用于存储指向这些函数的指针。接着,我们将这四个函数的指针添加到`operations`向量中。最后,我们遍历`operations`向量并输出每个函数指针的地址。
阅读全文