用C++补全下列代码[4] 编写一个程序,其中设计一个时间类Time,用来保存时、分、秒等私有数据成员,通过重载操作符”+”实现两个时间的相加。要求将小时范围限制在大于等于0,分别范围限制在0~59分,秒钟范围限制在0~59秒。 【提示】 (1) 时间类Time的参考框架如下: class Time{ public: Time(int h=0, int m=0, int s=0); // 构造函数 Time operator+(Time &); //运算符重载函数,实现两个时间的相加 void disptime(string); //输出时间函数 private: int hours; //小时 int minutes; //分钟 int seconds; //秒钟 }
时间: 2024-03-05 08:55:03 浏览: 31
以下是完整的C++程序:
```
#include <iostream>
#include <string>
using namespace std;
class Time {
public:
Time(int h = 0, int m = 0, int s = 0) {
if (h >= 0 && h < 24)
hours = h;
else
hours = 0;
if (m >= 0 && m < 60)
minutes = m;
else
minutes = 0;
if (s >= 0 && s < 60)
seconds = s;
else
seconds = 0;
}
Time operator+(Time &t) {
Time sum;
sum.hours = hours + t.hours;
sum.minutes = minutes + t.minutes;
sum.seconds = seconds + t.seconds;
if (sum.seconds >= 60) {
sum.minutes += sum.seconds / 60;
sum.seconds %= 60;
}
if (sum.minutes >= 60) {
sum.hours += sum.minutes / 60;
sum.minutes %= 60;
}
if (sum.hours >= 24)
sum.hours %= 24;
return sum;
}
void disptime(string str) {
cout << str << ": " << hours << ":" << minutes << ":" << seconds << endl;
}
private:
int hours;
int minutes;
int seconds;
};
int main() {
Time t1(12, 30, 45);
Time t2(4, 20, 15);
Time t3;
t3 = t1 + t2;
t1.disptime("Time 1");
t2.disptime("Time 2");
t3.disptime("Time 1 + Time 2");
return 0;
}
```
在这个程序中,我们定义了一个时间类`Time`,它有三个私有数据成员`hours`、`minutes`和`seconds`,表示小时、分钟和秒钟。构造函数用于初始化这三个成员变量,并对小时、分钟、秒钟进行范围限制。我们还重载了`+`运算符,用于计算两个时间对象的相加,得到一个新的时间对象。我们在`+`运算符重载函数中进行了小时、分钟、秒钟的进位处理,并返回了新的时间对象。
在主程序中,我们创建了两个时间对象`t1`和`t2`,并将它们相加得到一个新的时间对象`t3`。我们调用了`disptime`函数来输出三个时间对象的小时、分钟、秒钟信息,得到了指定的格式输出。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)