template<typename T, int n> //带"非类型"的模板参数
class Array
{
private:
T* arr;
int capcity; //容量: 数组中可容纳的最大的元素个数
int size; //数组中实际的元素个数
public:
//构造函数
Array() : arr(nullptr), capcity(n), size(0)
{
if (capcity > 0)
{
arr = new T[capcity];
}
}
//拷贝构造函数
Array(const Array<T, n>& a) : arr(nullptr), capcity(a.capcity), size(a.size)
{
if (capcity > 0)
{
//先分配空间
arr = new T[capcity];
//再 拷贝
int i;
for (i = 0; i < size; i++)
{
(*this)[i] = a[i];
}
}
}
//析构函数
~Array()
自己写一个类支持迭代器功能
于 2024-06-05 14:42:59 首次发布