Почему не правильно работает сумма на определенном значении?

Пишу класс Time. На вход подается время в секундах и затем получается итоговое время dd:hh:mm:ss. Перезагрузил оператор + для суммы двух времен. По итогу на значение 200 000 секунд не правильно работает (вместо 4 дней выводит 0), на остальных, которые проверял, выводит правильно. В чем ошибка?

Перегрузка:

TimeSpan operator+(const TimeSpan &t1, const TimeSpan &t2) {
    TimeSpan sumTime;

    sumTime.days = t1.days + t2.days;
    //std::cout << t1.days << " " << t2.days << " " << sumTime.days << std::endl;
    if(t1.hours + t2.hours > 24) {
        sumTime.days++;
        std::cout << sumTime.days << std::endl;
        sumTime.hours = t1.hours + t2.hours - 24;
    } else 
        sumTime = t1.hours + t2.hours;
    if (t1.minutes + t2.minutes > 60) {
        sumTime.hours++;
        sumTime.minutes = t1.minutes + t2.minutes - 60;
    } else
        sumTime.minutes = t1.minutes + t2.minutes;
    if (t1.seconds + t2.seconds > 60) {
        sumTime.minutes++;
        sumTime.minutes  = t1.seconds + t2.seconds - 60;
    } else 
        sumTime.seconds = t1.seconds + t2.seconds;

    return sumTime;
}

main.cpp

lab1::TimeSpan Time = TimeSpan(200000);
lab1::TimeSpan Time2 = TimeSpan(200000);
lab1::TimeSpan Res;
Res = Time + Time2;
int days = Res.getDays();
std::cout << days << std::endl;  //trash days = 0

Ответы (0 шт):