搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 求助!
标题:
求助!
只看楼主
huyukunbianc
等 级:
新手上路
帖 子:4
专家分:0
注 册:2012-9-20
结帖率:
100%
楼主
问题点数:0 回复次数:4
求助!
运算重载以后,调用cout.operator<< 必须加括号才能正常输出,而把operator去掉以后cout<<可以直接输出信息,这是为什么啊?
2012-09-30 22:56
寒风中的细雨
等 级:
贵宾
威 望:
66
帖 子:1710
专家分:8645
注 册:2009-9-15
第
2
楼
得分:0
没记错应该是 显式调用 和 隐式调用
2012-10-01 01:43
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
3
楼
得分:0
语法就是这样的。
按对象调用成员函数,就是函数调用了,得遵循函数调用的语法,也就是 obj.func(args) 这样的语法。这是通用的,什么成员函数都可以用这种方法调用,包括重载的运算符。
不过重载的运算符,可以使用运算符表达式调用。比如二两运算符 +,如果你写 a + b,那么会被编译器解释成 a.operator+ (b) 或者 operator+ (a, b) 这样的形式。只要你重载的正确,编译器就会正确地理解代码。可以把这个看成是重载运算符的特权。如果你不用,当然也可以用通用的方法来调用。
2012-10-01 10:00
huyukunbianc
等 级:
新手上路
帖 子:4
专家分:0
注 册:2012-9-20
第
4
楼
得分:0
回复 3楼 pangding
哦 谢谢大神~~
2012-10-01 19:28
huyukunbianc
等 级:
新手上路
帖 子:4
专家分:0
注 册:2012-9-20
第
5
楼
得分:0
回复 2楼 寒风中的细雨
谢谢大神~~~
2012-10-01 19:28
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-382397-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.476364 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved