#include <iostream> using namespace std; class ctime { protected: int h; int c; int s; public: ctime(int h_,int c_,int s_) { h=h_; c=c_; s=s_; } friend ctime& operator ++(ctime& p) { p.s++; if(p.s>59){ p.s=0; p.c++; } if(p.c>59) { p.c=0; p.h++; } if(p.h>11) { p.h=0; } return p; } friend ctime& operator --(ctime& p) { p.s--; if(p.s<0){ p.s=59; p.c--; } if(p.c<0) { p.c=59; p.h--; } if(p.h<0) { p.h=11; } return p; } void cprint() { cout<<h<<":"<<c<<":"<<s<<endl; } }; int main() { int h,c,s; cin>>h>>c>>s; ctime P(h,c,s); int n; cin>>n; while(n--) { int m; cin>>m; if(m>0) { while(m--) { ++P; } } else { m=-m; while(m--) { --P; } } P.cprint(); } return 0; }
时间: 2024-04-28 07:24:04 浏览: 52
#include_iostream.h_
4星 · 用户满意度95%
这段代码是一个时钟类ctime的实现,包含了重载前缀++和--运算符。在运算符重载函数中,对时钟的小时、分钟、秒进行了递增和递减的操作,同时考虑了进位和借位的情况。在主函数中,根据给定的操作数m对时钟进行递增或递减的操作,并输出当前时钟的时间。
代码看起来没有什么明显的问题,但是建议在输入输出时给变量加上合适的注释,以方便其他人理解。此外,如果需要对时钟进行更多的操作,可以考虑增加其他运算符的重载,比如加减法、比较运算等。
希望能对你有所帮助,如有疑问请继续提问。
阅读全文