#include<iostream>
using namespace std;
class Time
{
private:
int hour;
int minute;
int second;
public:
Time();
Time(int h, int m ,int s);
Time operator+(Time &t);
Time operator-(Time &t);
Time operator>>(Time &t);
Time operator<<(Time &t);
void setHour(int h )
{
hour=h;
}
void setMinute(int m)
{
minute=m;
}
void setSecond(int s)
{
second=s;
}
int getHour()
{
return hour;
}
int getMinute()
{
return minute;
}
int getSecond()
{
return second;
}
};
Time::Time()
{
hour=0;
minute=0;
second=0;
}
Time::Time(int h, int m ,int s)
{
hour=h;
minute=m;
second=s;
if(hour>=24)
hour=hour%24;
if(minute>=60)
hour=hour+1;
minute=minute%60;
if(second>60)
minute=minute+1;
second=second%60;
}
Time Time::operator +(Time &t)
{
return Time(hour+t.getHour(),minute+t.getMinute(),second+t.getSecond());
}
Time Time::operator-(Time &t)
{
return Time(hour-t.getHour(),minute-t.getMinute(),second-t.getSecond());
}
Time Time::operator >>(Time &t)
{
int h,m,s;
cout<<"inputTime1:"<<endl;
cin>>h>>m>>s;
hour=h;
minute=m;
second=s;
cout<<"inputTime2:"<<endl;
cin>>h>>m>>s;
t.setHour(h);
t.setMinute(m);
t.setSecond(s);
return Time(hour+t.getHour(),minute+t.getMinute(),second+t.getSecond());
}
Time Time::operator <<(Time &t)
{
cout<<t.getHour()<<':'<<t.getMinute()<<':'<<t.getSecond()<<endl;
return Time(hour+t.getHour(),minute+t.getMinute(),second+t.getSecond());
}
int main()
{
Time t1(1,2,3);
Time t2(2,3,4);
Time t3;
t3 = t1+t2;
t3 = t1>>t2;
t3<<(t1+t2);
}
运行结果:
inputTime1:
20 30 54
inputTime2:
14 25 25
10:56:19
Press any key to continue