设计一个时间类,用来保存时、分、秒等私有数据成员,通过重载操作符“+”实现2个时间的相加。要求:
(1)小时的时间范围限制在大于等于0;(2)分的时间范围为0~59分;(3)秒的时间范围为0~59秒。
#include <iostream>
using namespace std;
class Time {
private:
int hours,minutes, seconds;
public:
Time(int h=0, int m=0, int s=0);
Time operator + (Time &);
void DispTime();
};
/* 请在这里填写答案 */
int main() {
Time tm1(8,75,50),tm2(0,6,16), tm3;
tm3=tm1+tm2;
tm3.DispTime();
return 0;
}
输出:
在这里给出相应的输出。例如:
9h:22m:6s
/*设计一个时间类,用来保存时、分、秒等私有数据成员,通过重载操作符“+”实现2个时间的相加。要求:
(1)小时的时间范围限制在大于等于0;(2)分的时间范围为0~59分;(3)秒的时间范围为0~59秒。*/
// #include <iostream>
// using namespace std;
// class Time {
// private:
// int hours,minutes, seconds;
// public:
// Time(int h=0, int m=0, int s=0);
// Time operator + (Time &);
// void DispTime();
// };
/* 请在这里填写答案 */
Time Time::operator +(Time &t){
t.seconds=t.seconds+this->seconds;
if(t.seconds>=60)
{
t.minutes=t.seconds/60+t.minutes;
t.seconds=t.seconds%60;
}
t.minutes=t.minutes+this->minutes;
if(t.minutes>=60)
{
t.hours=t.hours +t.minutes /60;
t.minutes =t.minutes %60;
}
t.hours =t.hours +this->hours ;
return t;
}
void Time::DispTime ()
{
cout<<this->hours <<"h:"<<this->minutes<<"m:"<<this->seconds<<"s"<<endl;
}
Time::Time(int h,int m,int s)
{
hours=h;
minutes=m;
seconds=s;
}
//注意构造函数也要重载
// int main() {
// Time tm1(8,75,50),tm2(0,6,16), tm3;
// tm3=tm1+tm2;
// tm3.DispTime();
// return 0;
// }