// timeclass4.cc #include #include using namespace std; class Time { private: int Hours; // 0 to 23 int Minutes; // 0 to 59 public: Time() { Hours = Minutes = 0; } Time(int hrs, int mins) :Hours(hrs),Minutes(mins) { TimeCheck(); } void printTime() { cout << Hours << " hours and " << Minutes << " minutes" << endl; } // do any rollovers necessary on hours or minutes void TimeCheck() { if (Minutes > 59) { Hours += Minutes / 60; Minutes = Minutes % 60; } if (Minutes < 0) { Hours -= (-Minutes / 60) + 1; Minutes = 60 - (-Minutes % 60); } if (Hours > 23) Hours = Hours % 23; if (Hours < 0) Hours = 24 - (-Hours % 24); } // += operator void operator += (const Time &otherTime) { Minutes += otherTime.Minutes; Hours += otherTime.Hours; TimeCheck(); } // - operator void operator -= (const Time &otherTime) { Minutes -= otherTime.Minutes; Hours -= otherTime.Hours; TimeCheck(); } }; int main() { Time T1(0, 0); cout << "T1(0, 0): "; T1.printTime(); Time T2(2, 5); cout << "T2(2, 5): "; T2.printTime(); T1 -= T2; cout << "T1 -= T2 = "; T1.printTime(); }