大一下实验:
编写一个时间类,实现时间的加、减、读和输出:
我用了+ -和输入输出运算符重载。
#include"iostream"
using namespace std;
class Time
{
public:
Time(int h=0,int m=0,int s=0):hour(h),minute(m),second(s){}
void SetTime(int,int,int);
Time operator + (Time &a);
Time operator - (Time &a);
friend istream & operator >>(istream&,Time&);
friend ostream & operator <<(ostream&,Time&);
private:
int hour,minute,second;
};
void Time::SetTime(int h,int m,int s)
{
hour=h;
minute=m;
second=s;
}
Time Time::operator + (Time &a)
{
return Time(hour+a.hour,minute+a.minute,second+a.second);
}
Time Time::operator - (Time &a)
{
return Time(hour-a.hour,minute-a.minute,second-a.second);
}
istream & operator >>(istream&is,Time&a)
{
is>>a.hour>>a.minute>>a.second;
return is;
}
ostream & operator <<(ostream&os,Time&b)
{
os<<b.hour<<'/'<<b.minute<<'/'<<b.second<<endl;
return os;
}
int main()
{
Time a,b,c;
cout<<"请输入A的时间:"<<endl;
cin>>a;
cout<<"请输入B的时间:"<<endl;
cin>>b;
cout<<"A的时间为:";
cout<<a;
cout<<"B的时间为:";
cout<<b;
cout<<"c=a+b=";
c=a+b;
cout<<c;
cout<<endl<<"c=a-b=";
c=a-b;
cout<<c;
return 0;
}