注册 登录
编程论坛 C++教室

[求助]问点C++的小问题

Qup 发布于 2006-12-26 10:46, 451 次点击
friend ostream& operator <<(ostream &os,xinxi& t);
这句话什么意思 请教下
3 回复
#2
chllcy2006-12-26 11:10
操作符<<的重载

这样定义后,你可以使用
xinxi a;
cout<<a;

不然你使用cout<<a;会发生错误
#3
liangke2006-12-28 18:51

FRIEND 定义友元
其后是操作符重载

#4
pusawl2006-12-28 19:33
friend ostream& operator <<(ostream &os,xinxi& t);
这句话定义了一个类的友元函数,这个友元函数超载了“<<”运算符。那么以后就可以直接使用cout<<来输出xinxi这个类的对象了。
同时这个函数的返回类型是ostream的引用,这保证了“<<”的连用,也就是:
xinxi A,B;
cout<<A<<B;
之所以使用友元函数超载而不使用成员函数来超载,是因为成员函数超载需要使用对象来击活,但是使用cout<<时,对象是出现在右边的,所以无法用对象来击活,而只能采用友元函数。
1