关于链表类属类的定义

来源:百度知道 编辑:UC知道 时间:2024/05/20 09:21:14
谁能帮我详细解释下下面这段代码的意思
template<class element_type>
class list{
public:
list(int length)
{vector=new element_type[length];
size=length;
return;
}
~list()
{
delete vector;
return;
}
//检索链表中的元素,利用重载运算符实现,函数返回值可作为左值
element_type&operator[](int index)
{
return vector[index];
}
private:
element_type*vector; //指向链表首地址的指针
int size; //链表的长度
};

list 是一个模板类,有两个成员变量 vector 和 size,分别表示链表(其实是数组)首地址与数组长度。

构造函数将vector指向一个new 出来的element_type数组,大小为 length
析构函数将new出来的数组内存释放掉
函数 element_type& operator[](int index) 重载了[]操作符,可对element_type数组中的元素进行读写操作
举一个例子看看

void main()
{
list<int> iTest(3);
iTest[0] = 1;
iTest[1] = 2;
iTest[2] = 3;
printf( "%d, %d, %d \n", iTest[0], iTest[1], iTest[2]);
}

这是一个模板数组? 应该不是链表 我很笨的