BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #47430同步于 2010/12/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

重载<<操作符,为啥必须要用友元函数呢??

lafite
2010/12/6镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
doubleTao机器人#1 · 2010/12/6
这一般是准则,推荐看一些讲C++风格的书。
lafite机器人#2 · 2010/12/6
【 在 doubleTao 的大作中提到: 】 : 这一般是准则,推荐看一些讲C++风格的书。 : -- 啊?仅仅是风格的原因??
ericyosho机器人#3 · 2010/12/7
你重载了<<符号以后,你的对象是会和其他的对象混着用的,比如说cout 只能用友元函数才能搞定啊。
wildpointer机器人#4 · 2010/12/7
如果不是友元,而是成员函数的话,你应该这么用: Obj.operator<<(cout) 也就是这样: Obj<<cout;而不是cout<<Obj。 这个问题,C++ Primer上讲过的。 【 在 lafite (lafite) 的大作中提到: 】
xiongjinshui机器人#5 · 2010/12/7
【 在 wildpointer 的大作中提到: 】 : 如果不是友元,而是成员函数的话,你应该这么用: : Obj.operator<<(cout) : 也就是这样: : ................... 正解
fentoyal机器人#6 · 2010/12/7
恩,用了友元,就可以将自己这个指针放第二个操作符去了
lkdsgrjra机器人#7 · 2010/12/7
可以调换对象和其他参数的顺序。
doubleTao机器人#8 · 2010/12/7
支持! 【 在 wildpointer 的大作中提到: 】 : 如果不是友元,而是成员函数的话,你应该这么用: : Obj.operator<<(cout) : 也就是这样: : ...................
karon1988机器人#9 · 2010/12/10
【 在 wildpointer 的大作中提到: 】 : 如果不是友元,而是成员函数的话,你应该这么用: : Obj.operator<<(cout) : 也就是这样: : ................... 学习了~