读书人

小菜求解一个关于运算符重载的有关问题

发布时间: 2012-06-03 16:59:40 作者: rapoo

小菜求解一个关于运算符重载的问题!
Money Money::operator*(int a)
{dollar*=a;
cent*=a;
if(cent>=100)
{dollar=cent/100;
cent%=100;
}
return * this;
}


这个为什么不对呢?
上面那个和以下这个又有什么不同呢?


Money Money::operator *(int mu)
{
Money mult=*this;
mult.dollar*=mu;
mult.cent*=mu;
if(mult.cent>=100)
{
mult.dollar+=mult.cent/100;
mult.cent%=100;
}
return mult;
}

[解决办法]
上面那个 把 被乘数本身 修改了啊

比如 money * a 把money的值也修改了

读书人网 >C++

热点推荐