2、编写一个福序,其中说汁一个时间类Tme,用来保存时、分、秒等私有数据成员,通过重载操作符“+”实现两个时间的相加。要求将小时范围限制在大于等于0,分钟范围限制在0-59分,秒钟范围限制在0-59秒。
时间: 2023-09-09 09:08:19 浏览: 91
好的,下面是我为您编写的代码:
```c++
#include <iostream>
using namespace std;
class Time {
private:
int hour;
int minute;
int second;
public:
Time(int h = 0, int m = 0, int s = 0) {
hour = h;
minute = m;
second = s;
}
Time operator+(const Time& t) const {
int h = hour + t.hour;
int m = minute + t.minute;
int s = second + t.second;
if (s >= 60) {
s -= 60;
m++;
}
if (m >= 60) {
m -= 60;
h++;
}
if (h < 0) {
h = 0;
}
if (m < 0) {
m = 0;
}
if (s < 0) {
s = 0;
}
return Time(h, m, s);
}
void print() {
cout << hour << ":" << minute << ":" << second << endl;
}
};
int main() {
Time t1(10, 30, 45);
Time t2(2, 40, 20);
Time t3 = t1 + t2;
t3.print();
return 0;
}
```
这个程序定义了一个Time类,其中包含私有的小时、分钟和秒钟数据成员。它还重载了"+"运算符,以便可以将两个Time对象相加。在相加时,它会将小时、分钟和秒钟分别相加,并对结果进行限制,以确保它们在合理的范围内。最后,它打印了相加后的时间。
阅读全文