标题:重载的+与=
取消只看楼主
Pallove
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-3-26
 问题点数:0 回复次数:2 
重载的+与=

#include <iostream>

using namespace std;

class num {
private:
int a;
public:
num(int av=0):a(av) {}
num(const num& an):a(an.a) {}
num& operator = (num& rn) {
a=rn.a;
return *this;
}
num operator + (num& ra) {
num anum(a+ra.a);
return anum;
}
void show() {
cout<<a<<endl;
}
~num() {}
};

main()
{
num anum(14);
num bnum(34);
num cnum=anum+bnum; // 换成 num cnum; cnum=anum+bnum; 就不通过编译.
cnum.show();
system("PAUSE");
}


谁能帮我解决我这个疑问吗?

搜索更多相关主题的帖子: 重载 
2006-10-08 19:23
Pallove
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-3-26
得分:0 

我发现当我把副本构造函去掉就通过编译,在补上也通过了,不知是为何?用的DEV C++;


当一剑渐行渐远,传奇似在隐退...... ......另一剑若隐若现,经典似又重生......
2006-10-08 19:26
Pallove
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-3-26
得分:0 
以下是引用makewelldone在2006-10-8 20:06:40的发言:

它对你说是哪里的错误?

cnum=anum+bnum;


当一剑渐行渐远,传奇似在隐退...... ......另一剑若隐若现,经典似又重生......
2006-10-08 20:18



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




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

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