声明一个时间(Time)类,包含Hour、Minute、Second三个数据成员,构造函数实现对时间的初始化,成员函数showtime()实现时间的输出。要求用重载单目运算符“++”,实现对时间的加法。(注意Minute、Second不能超过60,Hour不能超过24)。
时间: 2024-02-23 18:00:52 浏览: 26
好的,以下是实现该时间类的代码:
```cpp
#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) {} // 构造函数
void showtime() const { // 成员函数输出时间
cout << Hour << ":" << Minute << ":" << Second << endl;
}
Time operator++() { // 重载前置单目运算符“++”,实现对时间的加法
Second++;
if (Second >= 60) {
Second -= 60;
Minute++;
}
if (Minute >= 60) {
Minute -= 60;
Hour++;
}
if (Hour >= 24) {
Hour -= 24;
}
return *this;
}
};
int main() {
Time t1(12, 34, 56);
t1.showtime(); // 输出 12:34:56
++t1;
t1.showtime(); // 输出 12:34:57
++(++t1);
t1.showtime(); // 输出 12:34:59
++t1;
t1.showtime(); // 输出 12:35:0
++t1;
t1.showtime(); // 输出 12:35:1
++(++(++(++(++(++(++t1))))));
t1.showtime(); // 输出 12:35:7
return 0;
}
```
这里重载了前置单目运算符“++”,实现对时间的加法。可以看到,不管怎么加,时间的格式都符合要求,Minute、Second不能超过60,Hour不能超过24。