填空题,#include <iostream> using namespace std; class Time { public: //在Time类的构造函数中使用成员初始化列表初始化数据成员 Time(int h=0, int m=0, int s=0): hour(h),minute(m),sec(c){} Time operator++() { //前置++运算符重载函数 sec++; if(sec>=60 ) { sec=sec-60; minute++; if(minute>=60) { minute=minute-60; hour++; 【3】______ } } return *this; } Time operator++(int) { //后置++运算符重载函数 Time temp(*this); //保存修改前的对象做返回值 ++(*this); return temp; } void display() { cout<<hour<<":"<<minute<<":"<<sec<<endl; } private: int hour ; int minute; int sec; }; int main() { Time time1(21,34,59), time2; cout<<" time1 : "; time1.display(); ++time1; cout<<"++time1: "; time1.display(); time2 = time1++; cout<<"time1++: "; time1.display(); cout<<" time2 : "; time2.display(); return 0; }
时间: 2024-01-10 11:04:15 浏览: 73
使用include <iostream>时一定要加using namespace std
在第 12 行的代码空缺处填写 `hour--;`。因为当分钟数超过 60 时,会将分钟数减 60,同时将小时数加一。但是如果小时数已经是 23 时,再加一就会变成 24,而这是不合法的,应该将小时数减一,变成 23。
修改后的代码如下:
```
Time operator++() {
//前置++运算符重载函数
sec++;
if(sec >= 60) {
sec -= 60;
minute++;
if(minute >= 60) {
minute -= 60;
hour++;
if(hour >= 24) {
hour--;
}
}
}
return *this;
}
```
希望能够帮到你!
阅读全文