题目要求
设计一个时间类,用来保存时、分、秒等私有数据成员,通过重载操作符+实现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
代码
Time::Time(int h, int m, int s):hours(h),minutes(m),seconds(s){}
Time Time::operator+(Time& t) {
int s = (t.seconds + this->seconds) % 60;
int m = ((t.seconds + this->seconds) / 60 + t.minutes + this->minutes) % 60;
int h = ((t.seconds + this->seconds) / 60 + t.minutes + this->minutes) / 60 + t.hours + this->hours;
t.hours = h;
t.minutes = m;
t.seconds = s;
return t;
}
void Time::DispTime() {
cout << this->hours << "h:" << this->minutes << "m:" << this->seconds << "s";
}
文章描述了一个使用C++编写的Time类,该类包含小时、分钟和秒的私有数据成员,并通过重载+运算符实现了两个时间对象的相加。相加过程中考虑了时间范围的限制,确保小时不超过24小时,分钟不超过59分钟,秒不超过59秒。在main函数中,给出了一个示例,展示了如何创建时间对象并进行相加操作。
3252

被折叠的 条评论
为什么被折叠?



