运用加法运算符重载,实现时间的增加
#include <iostream>
using namespace std;class Time
{
private:
int hours;
int minutes;
public:
Time();
Time(int h,int m=0);
void AddMin(int m);
void AddHr(int h);
void Reset(int h=0,int m=0);
Time operator +(const Time &t)const;
void Show() const;
};
Time::Time()
{
hours=minutes=0;
}
Time::Time(int h,int m)
{
hours=h;
minutes=m;
}
void Time::AddMin(int m)
{minutes+=minutes;
hours+=minutes/60;
minutes%=60;
}
void Time::AddHr(int h)
{
hours+=h;
}
void Time::Reset(int h,int m)
{
hours=h;
minutes=m;
}
Time Time::operator +(const Time &t)const
{
Time sum;
sum.minutes=minutes+t.minutes;
sum.hours=hours+t.hours+sum.minutes/60;
sum.minutes%=60;
return sum;
}
void Time::Show() const
{
cout<<hours<<" hours, "<<minutes<<"minutes"<<endlfggg;
}
void main()
{
Time coding(2,40);
Time fixing(5,55);
Time total;
total=coding+fixing;
coding.Show();
fixing.Show();
total.Show();
}