天天看點

重載運算符++的應用(時間類)

#include

using namespace std;

class Time

{

private:

int hour;

int minute;

int second;

public:

Time(int a=0,int b=0,int c=0)

{

this->hour=a;

this->minute=b;

this->second=c;

}

void Show()

{

cout<<hour<<":"<<minute<<":"<<second<<endl;

}

Time operator ++();//這裡定義了這個是Time類的是以在後面再出現的時候也要聲明它的類型

Time operator ++(int);//這裡的int 是因為++就是x=x+1的意思是以要int是給1的

} ;

Time Time::operator ++()//記住他是time類的并且是Time類中的函數 是以要Time Time ::

{

Time x;

second++;

x.second=second;

x.hour=hour;

x.minute=minute;

return x;//這裡不要忘了傳回值 否則就白運算了

}

Time Time::operator ++(int)//同上

{

Time x;

x.second=second;

x.hour=hour;

x.minute=minute;

second++;

return x;//這裡不要忘了傳回值 否則就白運算了

}

int main()

{

Time t1(10,25,52),t2,t3;//定義一個時間對象t1,帶參數,t2、t3對象不帶參數

t1.Show();

t2=++t1;//使用重載運算符++完成前置++

t1.Show();

t2.Show();

t3=t1++;//使用重載運算符++完成後置++

t3.Show();

t1.Show();

return 0;

}

繼續閱讀