请问: += Operator 是否可以重载吗? 如果可以,如何重载?

nikitar 2003-04-16 06:49:47

如题

...全文
68 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
DavidBone 2003-04-18
  • 打赏
  • 举报
回复
up
messagebox 2003-04-17
  • 打赏
  • 举报
回复
当然可以啊,只要符合函数重载规则就行了
allen_zhaozhencn 2003-04-16
  • 打赏
  • 举报
回复
当然可以啦,如下:
test& test::operator +=(const test& source_object)
{
//.....

return *this;
}
在这里一定要返回test&的引用, 如果返回为test的话, 这将产生一个新的对象,而不是原对象.
xkcm 2003-04-16
  • 打赏
  • 举报
回复
可以重载,用成员或友元重载。
aiyinsitan 2003-04-16
  • 打赏
  • 举报
回复
可以, 重载方式和其他没有什么区别啊
fishyqd 2003-04-16
  • 打赏
  • 举报
回复
实例代码

#include "iostream.h"

class A
{
int m;
public:
class A(int n)
{
m=n;
}
class A()
{
m=0;
}
class A(A & a)
{
m=a.m;
}

A operator += (A a)
{
m+=a.m;
return *this;
}
A operator =(A a)
{
if(this ==&a)
return *this;
else
m=a.m;
return *this;
}
int GetM()
{
return m;
}
};
void main()
{
A a(12),b(3),c;
c=a;
cout<<c.GetM()<<endl;
c+=b;
cout<<c.GetM();
}
ransion 2003-04-16
  • 打赏
  • 举报
回复
当然可以
Januarius_ 2003-04-16
  • 打赏
  • 举报
回复
当然可以重载了
和=的重载差不多的
liem 2003-04-16
  • 打赏
  • 举报
回复
可以重载
type opretor +=(type & a)
{
somemember+=a.somemember;
...
return *this;
}
benbenhuhu 2003-04-16
  • 打赏
  • 举报
回复
是 += 可以重载吗?
+= 当然可以重载,至于如何重载,那要看具体情况了

64,637

社区成员

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

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