C++大学教程第九版18.4Array类模板
时间: 2023-07-31 19:11:26 浏览: 55
该书第九版中的Array类模板是一个非常简单的模板,用于创建动态数组。以下是该模板的代码:
```cpp
template<class T>
class Array
{
private:
T *ptr;
int size;
public:
Array(T arr[], int s);
void print();
};
template<class T>
Array<T>::Array(T arr[], int s)
{
ptr = new T[s];
size = s;
for(int i = 0; i < size; i++)
ptr[i] = arr[i];
}
template<class T>
void Array<T>::print()
{
for(int i = 0; i < size; i++)
cout<<" "<<*(ptr + i);
cout<<endl;
}
```
该模板提供了两个公共方法:构造函数和print()方法。构造函数用于初始化数组,而print()方法用于打印数组中的元素。
使用该模板非常简单,只需要指定数组类型并传递一个数组和其大小即可:
```cpp
int main()
{
int arr[5] = {1, 2, 3, 4, 5};
Array<int> a(arr, 5);
a.print();
return 0;
}
```
输出结果为:
```
1 2 3 4 5
```
需要注意的是,该模板没有提供数组越界检查,因此使用时需要确保不会出现越界访问的情况。