value_type& operator [] (int location)
{
return *(sqlist+location);
}
//例如:value_type类型的一个temp,temp[10], 就是temp.operator [](10);
MyVector& operator = (MyVector& mv)
{
if (&mv == this) {
return *this;
}
cout << "重写 = :" <<endl;
Clear();
for (int i=0; i<mv.length; i++) {
PushBack(mv.sqlist[i]);
}
maxsize = GetMaxSize();
length = mv.length;
return *this;
}
//m = mv, 就是m.operator = (mv);将mv的所有数据传递给m。
// 显示所有元素
friend ostream& operator<< (ostream& out, const MyVector<T>& rhs) //此处const型的引用,提高效率的同时,控制无法改变原来的数据。
{
if(rhs.length == 0) {
out << "无元素" ;
}
else {
out << "all of the members: ";
for (int i=0; i< rhs.length; i++) {
out << *(rhs.sqlist+i) << " ";
}
}
return out;
}
//括号中的就是参数,符号的重载和函数一样,cout<< myvector; 就是cout.operator<<(out,myvector);返回一个引用流。