ProblemB:时间类的加、减法赋值运算timeLimit:1SecMemoryLimit:128MBSubmit:896Solved:423[Submit][Status][WebBoard]Description封装一个时间类time,在类上重载以下运算符,使得main()函数能够正确运行。::Time()无参构造方法。::inputTime()方法:按格式从标准输入读取数据修改Time对象的时分秒数值。该方法返回修改后的对象。::showTime()方法:输出“hh:mm:ss”,不足两位的要前面补0。如果对象不是合法的时间,则输出“Timeerror”。“+=”和减法赋值运算符“-=”:把一个整数m加到Time对象自身,并且仅对合法的时间操作,不会产生不合法的时间,比如:若原时间对象为“00:00:00”,减去2后的对象为“23:59:58”;若原时间对象为“23:59:59”,加上1后的对象为“00:00:00”;若原时间对象为“24:60:60”,加减后的对象仍为“24:60:60”。中已给出main()函数input输入的第一个整数n,表示有n组测试数据,每组4个整数,前三个整数为:hh,mm,ss,分别表示时、分、秒,其值都在int范围内,最后一个整数为m。Output每个输入对应两行输出,分别为时间“hh,mm,ss”加上m秒和减去m秒后的值。错误的时间输出“Timeerror”SampleInput6001205959111601023006023595910024103SampleOutput00:00:0323:59:5901:00:0000:59:58timeerrorTimeerror23:01:0022:59:0000:01:3923:58:19TimeerrorTimeerrorHINT输出格式用头文件<iomanip>中流操作算子:setw(w):设置数据的输出宽度为w个字符setfill(c):设置用字符c作为填充字符left:设置输出左对齐right:,intmain(){intcases;cin>>cases;for(inti=1;i<=cases;++i){Timet;();timett(t);intnum;cin>>num;t+=num;();tt-=num;();}}源代码:#include<iostream>#include<iomanip>usingnamespacestd;classTime{private:inthh,mm,ss;intaaa;boole;Time(inta,intb,intc,boold):hh(a),mm(b),ss(c),e(d){}intTimetoInt(){int=(hh*60+mm)*60+ss;ime;}TimeInttoTime(inttime){intee=33;ints=time%60;ee=6;intm=time/60%60;ee=7;inth=time/3600%24;ee=8;returnTime(h,m,s,e);}public:Time(){}voidcheck(){if(!(0<=hh&&hh<=23)||!(0<=mm&&
时间类的加、减法赋值运算 来自淘豆网www.taodocs.com转载请标明出处.