#include <iostream> #include <iomanip> using namespace std; int main() { Time t; cin >> t; t++; cout << t << endl; --t; cout << t << endl; ++t; cout << t << endl; t--; cout << t << endl; return 0; } /* 请在这里填写答案,类设计及部分接口已有系统给出并实现,你只需要实现++和--运算符的重载 */
时间: 2023-06-19 18:04:18 浏览: 76
这里需要定义一个名为 Time 的类,并在其中重载 ++ 和 -- 运算符。
以下是一个可能的实现:
```cpp
#include <iostream>
#include <iomanip>
using namespace std;
class Time {
public:
Time(int h = 0, int m = 0, int s = 0) : hour(h), minute(m), second(s) {}
Time& operator++() {
second++;
if (second >= 60) {
second = 0;
minute++;
if (minute >= 60) {
minute = 0;
hour++;
if (hour >= 24) {
hour = 0;
}
}
}
return *this;
}
Time& operator--() {
second--;
if (second < 0) {
second = 59;
minute--;
if (minute < 0) {
minute = 59;
hour--;
if (hour < 0) {
hour = 23;
}
}
}
return *this;
}
friend istream& operator>>(istream& in, Time& t) {
char colon1, colon2;
in >> t.hour >> colon1 >> t.minute >> colon2 >> t.second;
return in;
}
friend ostream& operator<<(ostream& out, const Time& t) {
out << setfill('0') << setw(2) << t.hour << ':'
<< setw(2) << t.minute << ':'
<< setw(2) << t.second;
return out;
}
private:
int hour, minute, second;
};
int main() {
Time t;
cin >> t;
t++;
cout << t << endl;
--t;
cout << t << endl;
++t;
cout << t << endl;
t--;
cout << t << endl;
return 0;
}
```
在上述代码中,我们定义了一个名为 Time 的类,它具有 hour、minute 和 second 三个私有成员变量,用于存储时间信息。在类中,我们重载了 ++和 -- 运算符,实现了时间的加上(加 1 秒)和减去(减 1 秒)功能。同时,我们还重载了输入输出运算符,使得可以通过输入输出流对时间进行读取和输出。在主函数中,我们演示了如何使用这些运算符,并测试了它们的正确性。
阅读全文