2.编写一个时间类Ctime,表示某天的时间,包含成员属性:时(hour)、分(minute)、秒(second)。给时间类Ctime设计必要的构造函数及显示属性的成员函数display()。然后重载前置自增++运算符,模拟钟表走动。对于秒钟:每60秒进1分钟,秒从0开始计算;对于分钟:每60分进1小时,分钟从0开始计算。
时间: 2024-03-08 18:51:20 浏览: 118
好的,以下是一个C++代码实现:
```cpp
#include <iostream>
using namespace std;
class Ctime {
private:
int hour;
int minute;
int second;
public:
Ctime(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
void display() {
cout << hour << ":" << minute << ":" << second << endl;
}
Ctime& operator++() {
second++;
if (second >= 60) {
second = 0;
minute++;
}
if (minute >= 60) {
minute = 0;
hour++;
}
if (hour >= 24) {
hour = 0;
}
return *this;
}
};
int main() {
Ctime t(8, 30, 0);
t.display();
++t;
t.display();
++t;
t.display();
return 0;
}
```
这里定义了一个Ctime类,包含了时、分、秒三个成员属性,以及相应的构造函数和显示属性的成员函数display()。我们重载了前置自增运算符++,用于模拟钟表走动。在自增运算符中,我们先将秒加1,然后判断是否进位到分钟,再判断是否进位到小时。最后返回更新后的时间对象。在主函数中,我们创建一个时间对象t,调用display()方法显示当前时间,然后连续两次执行++t操作,模拟时间的推移,并再次调用display()方法显示更新后的时间。
阅读全文