您的位置:首页 > 其它

设计一个时间类Time,要求: (1)包含时(hour)、分(minute)和秒(second)私有数据成员。 (2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载关于一时间减去另一时间

2013-12-02 23:38 3043 查看
#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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐