首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-06-03 
小菜求解一个关于运算符重载的问题!Money Money::operator*(int a){dollar*acent*aif(cent100){doll

小菜求解一个关于运算符重载的问题!
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的值也修改了

热点排行