只能重载为友元函数
为什么呢?
分析:
1.cout和<<一起为什么可以完成输出操作呢?
因为cout是ostream类的对象,在ostream类中对“<<”进行了重载。
2.“<<”是双目运算符,即有两个操作数
左侧的操作数是cout,右侧的操作数是我们要输出的内容。
3.为什么还要重载呢?
因为在ostream类中重载后,仅仅当右侧的操作数是基本数据类型时完成输出;但有的时候我们需要输出一个对象,此时我们就要再次重载“<<”,使其可以输出对象。
4.在ostream类中重载
ostream & ostream::operator <<(int q)
{
......
return *this;
}
.
.
.
int i;
cout<<i;
1) 我们可以看到operator <<重载为ostream类的成员函数,调用这个函数的对象就是cout