重载操作符与成员函数和非成员函数的关系

bendise 2008-02-19 04:12:07
看primer第4版讲到重载操作符的时候看着有点迷糊,谁能帮我解释下,什么样的重载操作符用在成员函数?而什么样的重载操作符用在非成员函数?
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xi_aowo_happy 2008-02-20
  • 打赏
  • 举报
回复
经验吧,4楼说的比较好。
白乔 2008-02-20
  • 打赏
  • 举报
回复
还有一种情况,a+b

a、b对象所属的类不是你写的
你只能用全局的操作符
taodm 2008-02-20
  • 打赏
  • 举报
回复
C++ Primer讲了原则的,再认真找找。
visame 2008-02-20
  • 打赏
  • 举报
回复
这个好像约定俗成的吧。一般+,+=,*,/这些都是member function
输入输出<<,>>一般都是friend,non-member的。

原则上所有运算符都可以当成非成员函数重载。

ttkk_2007 2008-02-19
  • 打赏
  • 举报
回复
对第一个操作数一定是对象,而且要返回运算结果的(+=/=/...),用成员函数
======================================================
谁说非要用成员函数

hai040 2008-02-19
  • 打赏
  • 举报
回复
第2条还有个条件,执行后,运算结果跟第一个操作数一样
hai040 2008-02-19
  • 打赏
  • 举报
回复
第一个操作数允许不是对象的(+-*/...),用非成员函数
对第一个操作数一定是对象,而且要返回运算结果的(+=/=/...),用成员函数
楼下补充

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧