6-47.时钟模拟

一个Time类,数据成员有时、分、秒。要求模拟秒表,每次走一秒,满60秒进位,秒又从零开始计数。满60分进位,分又从零开始计数。输出时、分和秒的值。(使用重载++运算符实现)

代码实现:

/*  请在这里填写答案  */
/*  请在这里填写答案  */
#include 
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<>t3;
        ++t1;
        cout<

你可能感兴趣的:(C++题库,c++)