#ifndef ARRAY_H
#define ARRAY_H
#include<cassert>
//数组类模版定义
template<class T>
class Array {
private:
T* list;//T类型指针,用于存放动态分配的数组内存首地址
int size;//数组大小(元素个数)
public:
Array(int size = 50);//构造函数
Array(const Array<T>& a);//复制构造函数
~Array();//析构函数
Array<T>& operator=(const Array<T>& rhs);//重载“=”使对象可以整体赋值
T& operator[](int i);//重载“[]”,使得Array对象可以起到c++普通数组的作用
const T& operator[](int i) const;//"[]"针对const的重载
operator T* ();//T * 是指向T的指针 //重载到T*类型的转换,使得Array对象可以起到c++普通数组的作用
operator const T* ()const;//到T*类型的转换针对const的重载
int getSize()const;//取数组的大小
void reSize(int size);//修改数组的大小
};
//构造函数
templete<class T>
Array<T>::Array(int sz) {
assert(sz >= 0);
size = sz;
list = new T[size];
}
//析构函数
template<class T>
Array<T>::~Array() {
delete[] list;
}
//复制构造函数
templete<class T>
Array<
52.C++数组类模板的使用
最新推荐文章于 2024-08-07 21:32:28 发布
本文详细介绍了C++中的数组类模板,包括其概念、用法和常见应用。通过实例解析,展示了如何利用类模板创建和操作动态数组,探讨了模板参数推断和泛型编程在数组操作中的作用,旨在提升C++程序员对数组类模板的理解和运用能力。
摘要由CSDN通过智能技术生成