c++例题9-2实现如下输出
时间: 2024-02-23 16:02:24 浏览: 128
好的,下面是一个实现该输出的示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
template<class T>
class myclass {
public:
T operator()(T a, T b) {
return a + b;
}
};
int main() {
vector<int> v1 = {1, 2, 3, 4, 5};
vector<int> v2 = {6, 7, 8, 9, 10};
vector<int> v3(5);
transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), myclass<int>());
for (auto& x : v3) {
cout << x << " ";
}
cout << endl;
vector<double> v4 = {1.1, 2.2, 3.3, 4.4, 5.5};
vector<double> v5 = {6.6, 7.7, 8.8, 9.9, 10.0};
vector<double> v6(5);
transform(v4.begin(), v4.end(), v5.begin(), v6.begin(), myclass<double>());
for (auto& x : v6) {
cout << x << " ";
}
cout << endl;
return 0;
}
```
在这个示例代码中,我们定义了一个类模板myclass,它有一个模板参数T,并重载了()运算符。在()运算符中,我们将两个参数相加,并返回结果。
在主函数中,我们定义了两个整型向量v1和v2,以及一个整型向量v3。我们使用transform函数将v1和v2中的元素依次相加,并将结果存储在v3中。然后,我们遍历v3中的元素,并将其输出到控制台上。
接着,我们定义了两个双精度浮点型向量v4和v5,以及一个双精度浮点型向量v6。我们再次使用transform函数将v4和v5中的元素依次相加,并将结果存储在v6中。最后,我们遍历v6中的元素,并将其输出到控制台上。
最终,程序输出的结果如下:
```
7 9 11 13 15
7.7 9.9 12.1 14.3 15.5
```
阅读全文