问题 E: 类模板之简单数组 [命题人 : admin] 时间限制 : 1.000 sec 内存限制 : 128 MB 题目描述 实现一个Array类模板,支持输入、输出、下标访问。 输入:Input() 输出:Show() 下标访问:operator[] #include <iostream> #include <iomanip> using namespace std; // 在这里补充你的代码 int main() { { Array<int> a1(5); a1.Input(); a1.Show(); a1[1] = 7; a1.Show(); } cout << "-" << endl; { Array<char> a1(5); a1.Input(); a1.Show(); a1[1] = 'X'; a1.Show(); } return 0; }
时间: 2024-01-22 07:03:15 浏览: 87
解决Unable to access 'https://gitee.com/自己的项目/': Could not resolve host: gitee.com问题
以下是实现Array类模板的代码:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
template <typename T>
class Array {
private:
T* data; // 指向数据的指针
int size; // 数组的大小
public:
Array(int n) : size(n) { // 构造函数,初始化数组大小和数据指针
data = new T[size];
}
~Array() { // 析构函数,释放内存
delete[] data;
}
void Input() { // 输入数组元素
for (int i = 0; i < size; i++) {
cin >> data[i];
}
}
void Show() { // 输出数组元素
for (int i = 0; i < size; i++) {
cout << setw(4) << data[i];
}
cout << endl;
}
T& operator[](int index) { // 重载下标访问运算符
return data[index];
}
};
```
在main函数中,我们可以使用这个Array类模板来创建int类型和char类型的数组,并对其进行输入、输出和下标访问。
阅读全文