设计一个数组类模板,该模板至少包含对数组元素的初始化
时间: 2024-02-12 11:04:11 浏览: 125
好的,我可以为您设计一个数组类模板。这个模板将允许您创建具有不同元素类型和大小的数组,并提供初始化功能。
下面是一个示例代码:
```cpp
template <typename T, int N>
class Array {
public:
Array() {
for (int i = 0; i < N; i++) {
data[i] = T();
}
}
Array(const T& value) {
for (int i = 0; i < N; i++) {
data[i] = value;
}
}
T& operator[](int index) {
return data[index];
}
const T& operator[](int index) const {
return data[index];
}
private:
T data[N];
};
```
这个模板类包含两个构造函数,一个是默认构造函数,另一个是带有一个参数的构造函数。默认构造函数将会初始化数组中的每个元素为类型 T 的默认值。带有参数的构造函数将会初始化数组中的每个元素为给定的值。
这个模板类还重载了 `operator[]`,以便您可以像使用普通数组一样访问数组元素。
您可以像这样使用这个模板类来创建一个具有 10 个整数元素的数组,并将它们初始化为 0:
```cpp
Array<int, 10> arr;
```
或者您可以将数组元素初始化为其他值:
```cpp
Array<int, 5> arr(42);
```
这将创建一个具有 5 个整数元素的数组,并将它们初始化为 42。
阅读全文