编写一个程序,使用类模板对数组元素进行倒序。 主程序如下(不能修改) int main() { int n; cin >> n; Array<int> a(n); a.input(); a.reverse(); a.output(); Array<double> b(n); b.input(); b.reverse(); b.output(); return 0; }
时间: 2024-03-08 14:47:43 浏览: 57
好的,以下是代码实现:
```c++
#include <iostream>
using namespace std;
template<class T>
class Array {
private:
T* data;
int size;
public:
Array(int s) {
size = s;
data = new T[size];
}
~Array() {
delete[] data;
}
void input() {
for (int i = 0; i < size; i++) {
cin >> data[i];
}
}
void output() {
for (int i = 0; i < size; i++) {
cout << data[i] << " ";
}
cout << endl;
}
void reverse() {
for (int i = 0; i < size / 2; i++) {
T temp = data[i];
data[i] = data[size - 1 - i];
data[size - 1 - i] = temp;
}
}
};
int main() {
int n;
cin >> n;
Array<int> a(n);
a.input();
a.reverse();
a.output();
Array<double> b(n);
b.input();
b.reverse();
b.output();
return 0;
}
```
程序中使用了类模板 `Array`,实现了对 `int` 和 `double` 类型数组元素的倒序。主函数中首先通过输入参数 `n` 创建了一个 `int` 类型的数组 `a` 和一个 `double` 类型的数组 `b`,然后分别对这两个数组进行输入、倒序和输出。其中,`reverse` 函数用于倒序数组元素。
阅读全文