建立模板数组类:array 成员方法如下: array(int n);其中n用来设置数组元素的个数 ~array(); int sizeOfArray();返回数组中元素的个数 void display()函数,输出数组元素,中间使用空格分隔。 void input()函数,可以通过键盘输入数组元素。 【输入形式】输入有3行,第1行输入模板数组类型,其中1代表建立整数数组类, 2代表建立double数组类,3代表char数组类; 第2行输入数组中元素的个数;第3行输入数组中各个元素. 【输出形式】输出数组中各元素,元素之间用一个空格分开,注意最后一个元素后没有空格
时间: 2024-02-13 13:02:48 浏览: 68
好的,下面是这个问题的C++代码实现:
```cpp
#include <iostream>
using namespace std;
template <class T>
class array {
private:
T *data; // 数组指针
int size; // 数组大小
public:
array(int n) {
size = n;
data = new T[size];
}
~array() {
delete[] data;
}
int sizeOfArray() {
return size;
}
void display() {
for (int i = 0; i < size; i++) {
cout << data[i];
if (i != size - 1) {
cout << " ";
}
}
cout << endl;
}
void input() {
for (int i = 0; i < size; i++) {
cin >> data[i];
}
}
};
int main() {
int type, n;
cin >> type >> n;
if (type == 1) {
array<int> arr(n);
arr.input();
arr.display();
} else if (type == 2) {
array<double> arr(n);
arr.input();
arr.display();
} else if (type == 3) {
array<char> arr(n);
arr.input();
arr.display();
}
return 0;
}
```
这个程序中,我们首先定义了一个模板类`array<T>`,其中`<T>`表示这是一个泛型类,可以使用不同的数据类型进行实例化。这个类中有四个成员函数:
- `array(int n)`:构造函数,用来初始化数组大小和分配内存空间;
- `~array()`:析构函数,用来释放数组的内存空间;
- `sizeOfArray()`:返回数组的大小;
- `display()`:输出数组中的所有元素;
- `input()`:从键盘输入数组中的所有元素。
在`main()`函数中,我们首先从标准输入中读入数组类型`type`和数组大小`n`,然后根据`type`的不同,分别创建整型、双精度浮点数和字符型数组,并分别调用它们的`input()`和`display()`函数,最后结束程序。
希望这个程序能够帮到您,如果您有任何问题请随时提出。
阅读全文