创建一个累加器函数对象Accumulator,该对象可以对传入的值进 行累加。在主函数中创建一个vector<int>vec容器对象,并传入至少五个数据,使用std:for.each来应用累加器函数对象对vec容器中的元素进行累加,并打印输出累加后的值。用C++写
时间: 2025-01-01 09:36:00 浏览: 6
在C++中,我们可以创建一个`Accumulator`类,它包含一个用于累加的方法`accumulate`。然后,我们可以在`main`函数中创建一个`std::vector<int>`,并使用`std::for_each`遍历这个向量,应用累加器对象。以下是具体的代码示例:
```cpp
#include <iostream>
#include <vector>
#include <numeric>
class Accumulator {
public:
int accumulate(int value) {
total_ += value;
return total_;
}
private:
int total_ = 0; // 初始化累加器值
};
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5}; // 容器对象并添加数据
// 使用Accumulator对象和std::for_each
Accumulator accumulator;
std::for_each(vec.begin(), vec.end(), accumulator.accumulate);
// 打印累加后的总和
std::cout << "The accumulated sum is: " << accumulator.total_ << std::endl;
return 0;
}
```
在这个例子中,`Accumulator`类的`accumulate`方法会接收一个整数值并将之加到`total_`上。`std::for_each`遍历`vec`中的每个元素,并调用`accumulator.accumulate`进行累加。
阅读全文