【发布时间】:2014-04-04 17:33:21
【问题描述】:
Overloading postfix operator doesn't work
这是我昨天修复后的程序。如果我的小时和天数设置为零,我很难否定前缀运算符做任何事情。
NumDays NumDays::operator--()
{
--hour;
simplify();
return *this;
}
NumDays NumDays::operator--(int)
{
NumDays obj1(*this);
if(day == 0 && hour > 0)
{ hour--; }
simplify();
return obj1;
}
如果我尝试像 postfix 运算符那样使用 if 状态,即使日期和时间不是 @0,我的两个运算符都将不起作用。 如果日和小时为 0,如何使前缀运算符不执行任何操作?
【问题讨论】:
-
你问我们如何写一个if条件?您的代码中已经有一个。
-
为什么不适用于前缀运算符?
-
您的逻辑似乎错误,如果天等于 0 并且小时大于 0,它只会减少小时,也许您想要 OR (
||) -
我在 POSTfix 运算符内部有一个。不是前缀运算符。我是说我怎么能把前缀也归零。
标签: c++