您的位置:首页 > 其它

符号重载的理解

2011-07-15 17:09 204 查看
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);返回一个引用流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: