6-5 时间的比较* 分数 20 作者 李祥 单位 湖北经济学院 请设计时间类TIME,实现时间的输入、输出和比较。 #include <iostream> #include <iomanip> using namespace std; /* 你提交的代码将被嵌在这里 */ int main() { TIME a, b; cin >> a >> b; if (a > b) { cout << "Yes\n"; } else { cout << "No\n"; } return 0; }
时间: 2024-01-14 10:02:25 浏览: 202
好的,这是一个关于时间比较的问题。下面是一个基本的 TIME 类的实现,包括输入、输出和比较操作:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
class TIME {
public:
int hour, minute, second;
TIME() {
hour = minute = second = 0;
}
friend istream& operator>>(istream& in, TIME& t) {
in >> t.hour >> t.minute >> 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;
}
bool operator>(const TIME& t) const {
if (hour > t.hour) {
return true;
} else if (hour == t.hour && minute > t.minute) {
return true;
} else if (hour == t.hour && minute == t.minute && second > t.second) {
return true;
}
return false;
}
};
int main() {
TIME a, b;
cin >> a >> b;
if (a > b) {
cout << "Yes\n";
} else {
cout << "No\n";
}
return 0;
}
```
在这个实现中,我们使用了运算符重载来实现输入、输出和比较操作。输入和输出都是比较简单的,我们只需要重载 `>>` 和 `<<` 运算符即可。比较操作使用了 `>` 运算符,我们按小时、分钟、秒的顺序依次比较。注意,我们还需要在输出时使用 `setfill` 和 `setw` 函数来控制输出格式。
希望这个实现对你有所帮助!
阅读全文