标题:求助!
只看楼主
huyukunbianc
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-9-20
结帖率:100%
 问题点数:0 回复次数:4 
求助!
运算重载以后,调用cout.operator<<  必须加括号才能正常输出,而把operator去掉以后cout<<可以直接输出信息,这是为什么啊?
2012-09-30 22:56
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
得分:0 
没记错应该是  显式调用  和  隐式调用
2012-10-01 01:43
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:0 
语法就是这样的。
按对象调用成员函数,就是函数调用了,得遵循函数调用的语法,也就是 obj.func(args) 这样的语法。这是通用的,什么成员函数都可以用这种方法调用,包括重载的运算符。
不过重载的运算符,可以使用运算符表达式调用。比如二两运算符 +,如果你写 a + b,那么会被编译器解释成 a.operator+ (b) 或者 operator+ (a, b) 这样的形式。只要你重载的正确,编译器就会正确地理解代码。可以把这个看成是重载运算符的特权。如果你不用,当然也可以用通用的方法来调用。
2012-10-01 10:00
huyukunbianc
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-9-20
得分:0 
回复 3楼 pangding
哦 谢谢大神~~
2012-10-01 19:28
huyukunbianc
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-9-20
得分:0 
回复 2楼 寒风中的细雨
谢谢大神~~~
2012-10-01 19:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-382397-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.086195 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved