设计一个时间类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
  • 527

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

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

2-2 Time类的定义(Java)acm.sdut

Problem Description 通过本题目的练习可以掌握类与对象的定义; 设计一个时间类Time,私有数据成员有hour(时)、minute(分)、second(秒); 公有成员函数...
  • sinat_37920793
  • sinat_37920793
  • 2017年03月29日 20:36
  • 196

C++时间类的运算符重载

 Description C++时间类的运算符重载 定义一个时间类Time,其数据成员为表示时间的小时(hour)、分(minute),秒(second)。 重载运算符“+”,使之能用...
  • u013602059
  • u013602059
  • 2014年08月05日 14:27
  • 504

运算符重载之自增自减篇

今天写题要求写到重载自增自减运算符,之前看运算符的重载没有仔细思考,对于运算符++和--来说有两种形式,一种是前置的形式,一种是后置的形式。        如果不区分前置或者后置的区别的话,则我们就...
  • fk5431
  • fk5431
  • 2015年05月13日 20:52
  • 1673

C++ 声明并实现一个日期类(运算符重载)

/****************************************************************************************** date.hpp...
  • ZhongQi0808
  • ZhongQi0808
  • 2015年05月10日 15:31
  • 1275

程序实践系列(六)运算符重载 "+" 和"-"

设计一个时间类CTime,包括时、分、秒等私有数据成员。要求实现时间的基本运算,如一时间加上另一时间、一时间减去另一时间等。...
  • utimes
  • utimes
  • 2014年10月17日 19:14
  • 1293

3-1 Point类的构造函数(构造函数的重载)

3-1 Point类的构造函数 Time Limit: 1000MS Memory limit: 65536K 题目描述 通过本题目的练习可以掌握类的构造函数的定义; 设计一个点类Poin...
  • u013486414
  • u013486414
  • 2014年09月15日 18:36
  • 1398

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

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

【7.11】为Date类重载“+”运算符,实现在某一个日期上(月、日、年)加一个天数。

 【7.11】为Date类重载“+”运算符,实现在某一个日期上(月、日、年)加一个天数。 Date类如下: class Date{    public:     Date (in...
  • huanyu_liang
  • huanyu_liang
  • 2015年07月01日 19:07
  • 1122
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计一个时间类Time,要求: (1)包含时(hour)、分(minute)和秒(second)私有数据成员。 (2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载关于一时间减去另一时间
举报原因:
原因补充:

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