一个Time类,数据成员有时、分、秒。要求模拟秒表,每次走一秒,满60秒进位,秒又从零开始计数。满60分进位,分又从零开始计数。输出时、分和秒的值。(使用重载++运算符实现)
代码实现:
/* 请在这里填写答案 */
/* 请在这里填写答案 */
#include <iostream>
using namespace std;
class MyTime{private:int sec,min,hour;public:MyTime(int h=0,int m=0,int s=0):sec(s),min(m),hour(h){}void update(){if(sec>=60){sec-=60;min+=1;}if(min>=60){min-=60;hour+=1;}if(hour>=24){hour-=24;}}int test(){if(hour<24&&min<60&&sec<60)return 1;return 0;}MyTime& operator++(){sec++;while(test()!=1){update();}return *this;}friend istream& operator >>(istream& in,MyTime& a);friend ostream& operator <<(ostream& out,MyTime& a);
};
istream& operator >>(istream& in,MyTime &a){in>>a.hour>>a.min>>a.sec;return in;
}ostream& operator <<(ostream& out,MyTime &a){out<<a.hour<<":"<<a.min<<":"<<a.sec;return out;
}int main()
{MyTime t1,t2(23,59,59),t3;cin>>t3;++t1;cout<<t1<<endl;++t2;cout<<t2<<endl;++t3;cout<<t3<<endl;return 0;
}