Update 重载++的时钟.cpp

修复了++的时候判断时使用if(second=60)的bug,增加了后缀形式的++重载,完善了++的返回值。
This commit is contained in:
zhkgo
2022-03-02 14:05:51 +08:00
committed by GitHub
parent 696b01a42c
commit 75a7691610

View File

@@ -1,5 +1,5 @@
/* /*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD>¼ʱ<EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>++<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿִ<C3BF><D6B4>һ<EFBFBD><D2BB>++<2B><><EFBFBD><EFBFBD><E3A3AC>ʱ1<CAB1><EFBFBD><EBA3AC>Ҫʹ<D2AA><CAB9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><DCB9>Զ<EFBFBD><D4B6><EFBFBD>λ<EFBFBD><CEBB> 设计一个时钟类,能够记录时、分、秒,重载它的++运算符,每执行一次++运算加时1秒但要使计时过程能够自动进位。
*/ */
#include<iostream> #include<iostream>
using namespace std; using namespace std;
@@ -10,19 +10,24 @@ class Time{
minute = m; minute = m;
second = s; second = s;
} }
void operator++(); Time operator++();
Time operator++(int);
void showTime(){ void showTime(){
cout<<"<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>"<<hour<<":"<<minute<<":"<<second<<endl; cout<<"当前时间为:"<<hour<<":"<<minute<<":"<<second<<endl;
} }
private: private:
int hour,minute,second; int hour,minute,second;
}; };
Time Time::operator++(int n){
void Time::operator++(){ Time tmp=*this;
++(*this);
return tmp;
}
Time Time::operator++(){
++second; ++second;
if(second=60){ if(second==60){
second=0; second=0;
++minute; ++minute;
if(minute==60){ if(minute==60){
@@ -33,12 +38,15 @@ void Time::operator++(){
} }
} }
} }
return *this;
} }
int main(int argc, char const *argv[]) int main(int argc, char const *argv[])
{ {
Time t(23,59,59); Time t(23,59,59);
++t; ++t;
t.showTime();
(t++).showTime();
t.showTime(); t.showTime();
system("pause"); system("pause");
return 0; return 0;