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

原创 2013年12月02日 23:38:27

#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

2-2 Time类的定义

2-2 Time类的定义 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 通过本题目的练习可以掌握类与对象的...
  • S_Scott
  • S_Scott
  • 2016年09月22日 20:06
  • 463

设计一个时间类Time, 包括时,分,秒等私有数据成员。要求实现时间的基本运算,一个时间加上另一个时间。。

#include class Time{ int hour;  //时数 int minute; //分数 int second; //秒数public: //Time() {};          ...
  • qq10050
  • qq10050
  • 2006年11月30日 22:24
  • 3823

[YTU]_2617(B C++时间类的运算符重载)

题目描述 C++时间类的运算符重载 定义一个时间类Time,其数据成员为表示时间的小时(hour)、分(minute),秒(second)。 重载运算符“+”,使之能用于时间对象的加法运算;重载运算...

YTU-OJ-C++时间类的运算符重载

Problem O: B C++时间类的运算符重载 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 187  Solved: 58 [Subm...
  • MIKASA3
  • MIKASA3
  • 2015年06月24日 09:25
  • 502

设计一个时间类Time

/*设计一个时间类(Time),有年、月、日3个属性,有 成员函数void setTime(int y ,int m,int d)能够完成设置当前年月日 成员函数void setTime(int m,...

第十二周上机时间项目——项目2-Time类中的运算符重载

/  *Copyright (c) 2016,烟台大学计算机与控制工程学院   *All rights reserved.   *文件名称:TIME.cpp   *作    者:郑志金...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计一个时间类Time,要求: (1)包含时(hour)、分(minute)和秒(second)私有数据成员。 (2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载关于一时间减去另一时间
举报原因:
原因补充:

(最多只允许输入30个字)