我想开始用C ++进行编码。我正尝试使用这些参数为参数Time::Time(int hour, int min, int sec)
编写类“ Time”。
我试图重载-=
运算符,该运算符使我可以从时间对象中减去小时,分钟和秒。
但是,我的代码似乎没有正确减去分钟和小时。我似乎不知道该怎么做。这是我的代码,
Time& Time::operator-=(unsigned int n)
{ sec -= n;
if (sec < 0)
{ min += sec/60;
sec %= 60;
if (min >=60)
{ hour = (hour + min/60) % 24;
min %= 60;
}
}
return *this;
}
在时间t1的hour = 2
,min = 59
,sec = 31
时
使用:t1 -= 400;
输出为:02:53:51
但是,当我使用t1 -= 3600;
输出为02:00:-29
应为01:59:31