实现一个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 09:03:27 浏览: 63
下面是一个实现了Array类模板的示例代码:
```cpp
#include <iostream>
#include <iomanip>
using namespace std;
template <typename T>
class Array {
private:
T* data; // 存储数据的数组指针
int size; // 数组大小
public:
Array(int sz = 0) { // 构造函数
size = sz;
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 << data[i] << " ";
}
cout << endl;
}
T& operator[](int index) { // 下标访问函数
return data[index];
}
};
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;
}
```
在这个实现中,Array类模板可以用来存储各种数据类型的数组。构造函数用来创建一个指定大小的数组,析构函数用来释放数组内存。输入函数和输出函数分别用来从标准输入流读取数据和向标准输出流输出数据。下标访问函数重载了[]运算符,使得可以通过下标来访问数组元素。在main函数中,我们分别创建了一个int类型和一个char类型的Array对象,并进行了输入、输出和下标访问操作。
阅读全文