我的教师告诉我们,在档案中,我有这样的任务:
operator string();
我们绝不能偏离它。
因此,在我的卷宗中,我有:
Currency::operator string(){
stringstream output;
output<<"$";
output<<dollars;//Why does this return garbage for money1+money2??
output<<".";
output<<cents;
string outputstring = output.str();
return outputstring;
}
但是,当我填写<代码>string($1+ money2)时,如果我只是做笔迹(金钱1)”的话,它就行了罚款。 我想知道,我做的是什么错了。
任何帮助都将是巨大的。
这里是我超负荷的+运营商代码:
Currency& Currency::operator+(const Currency &rhs){
Currency temp;
temp.dollars = dollars + rhs.dollars;
temp.cents = cents + rhs.cents;
temp.simplify();
return temp;
}
<>说明: 我已经开了小差,没有与超负荷的+运营商有任何问题;它回报了它应该做些什么。