想知道为什么这是错的?

#include
using namespace std;

class Time {

public:
    int hours;      // 小时
    int minutes;    // 分钟

    Time() {
        hours = 0;
        minutes = 0;
    }

    Time(int h, int m) {
        this->hours = h;
        this->minutes = m;
    }

    void show() {
        cout << hours << " " << minutes << endl;
    }

    // write your code here......
    Time operator+(Time &t)
    {
        Time temp;
        temp.minutes=this->minutes+t.minutes;
        temp.hours=this->hours+t.hours;
        if(temp.minutes>=60)
        {
            temp.minutes-=60;
            temp.hours++;
        }
        return temp;
        
    }

};

int main() {

int h, m;
cin >> h;
cin >> m;

Time t1(h, m);
Time t2(2, 20);

Time t3 = t1 + t2;
t3.show();

return 0;

}