运算符重载时的参数问题 !!!!

xypi20 2009-10-20 10:10:53
在成员函数中进行双目运算符重载时,其参数表中应带有 1 个参数。


双目运算符重载为普通函数是,其参数表中应带有 2 个参数。



什么意思? 不是说 双目运算符重载 形参是1个吗??
2题是什么意思 能不能举个列子解释下?
拜托了!!
...全文
452 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xplovexjy 2009-10-20
  • 打赏
  • 举报
回复
别忘了成员函数有个隐含的this指针,这个指针是指向类对象的,所以作为成员函数的重载操作符其实是有2个参数的,只不过其中一个与this指针绑定,指向第一个操作数,这个形参是存在的,只是不写出来。
而作为非成员函数的重载操作符,没有this形参,所以当然他有2个形参罗。

1目操作符,作为成员函数,没有形参(this指针指向操作数,但是不显示)作为非成员函数,有1个形参。
2目操作符,作为成员函数,有1个形参,作为非成员函数,有2个形参。
mstlq 2009-10-20
  • 打赏
  • 举报
回复
两种都有了,楼主自己看吧……
mstlq 2009-10-20
  • 打赏
  • 举报
回复
const A A::operator +(const A & rhs) const; 
mstlq 2009-10-20
  • 打赏
  • 举报
回复
const A operator +(const A & lhs,const A & rhs);

64,637

社区成员

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

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