第8周 任務2 實現Time類中的運算子過載

2021-06-05 17:22:42 字數 3564 閱讀 1472

/* (程式頭部注釋開始)

* 程式的版權和版本宣告部分

* 檔名稱:實現time類中的運算子過載 ,並對運算子的過載進行測試 

* 作    者:        馬琳                    

* 完成日期:     2012    年 04  月    11日

* 版 本 號:       v1.0   

* 對任務及求解方法的描述部分

* 輸入描述: 

* 問題描述: 

* 程式輸出:

* 程式頭部的注釋結束 */

#include using namespace std;

class ctime

; void settime(int h,int m,int s);

void display();

//比較運算子(二目)的過載

bool operator > (ctime &t);

bool operator < (ctime &t);

bool operator >= (ctime &t);

bool operator <= (ctime &t);

bool operator == (ctime &t);

bool operator != (ctime &t);

//二目運算子的過載

ctime operator + (ctime &c);//返回c所規定的時、分、秒後的時間,例t1(8,20,25),t2(11,20,50),t1+t2為:41:15

ctime operator - (ctime &c);//對照+理解

ctime operator + (int s);//返回s秒後的時間

ctime operator - (int s);//返回s秒前的時間

//一目運算子的過載

ctime operator ++ (int);//後置++,下一秒

ctime operator ++ ();//前置++,下一秒

ctime operator -- (int);//後置--,前一秒

ctime operator -- ();//前置--,前一秒

//賦值運算子的過載

ctime operator+= (ctime &c);

ctime operator-= (ctime &c);

ctime operator+= (int s);//返回s秒後的時間

ctime operator-= (int s);//返回s秒前的時間

};

//下面實現所有的運算子過載**。

//為簡化程式設計,請注意通過呼叫已有函式,利用好各函式之間的關係

void ctime::settime(int h,int m,int s)

void ctime::display()

bool ctime::operator > (ctime &t)

else if(minute > t.minute)

else if(second > t.second)

else

}

bool ctime::operator < (ctime &t)

else if(minute < t.minute)

else if(second < t.second)

else

}

bool ctime::operator >= (ctime &t)

else

}

bool ctime::operator <= (ctime &t)

else

}

bool ctime::operator == (ctime &t)

else

}

bool ctime::operator != (ctime &t)

else

}

ctime ctime::operator + (ctime &c)

t.minute+= c.minute;

if (t.minute>=60)

t.hour+= c.hour;

if (t.hour>23)

return t;

}

ctime ctime::operator - (ctime &c)

else

if (t.minute < c.minute)

else

if (t.hour < c.hour)

else

return t;

} ctime ctime::operator + (int s)

}

}

return t;

} ctime ctime::operator - (int s)

ctime ctime::operator ++ (int)//後置++,下一秒

ctime ctime::operator ++ ()//前置++,下一秒

ctime ctime::operator -- (int)//後置--,前一秒

ctime ctime::operator -- ()//前置--,前一秒

ctime ctime::operator+= (ctime &c)

minute+= c.minute;

if (minute>=60)

hour+= c.hour;

if (hour>23)

return (*this);

}

ctime ctime::operator-= (ctime &c)

else

if (minute < c.minute)

else

if (hour < c.hour)

else

return (*this);

}

ctime ctime::operator+= (int s)//返回s秒後的時間

}

}

return (*this);

}

ctime ctime::operator-= (int s)//返回s秒前的時間

void main()

{ ctime t1(8,20,25),t2(11,20,50),t;

cout<<"t1為:";

t1.display();

cout<<"t2為:";

t2.display();

cout<<"下面比較兩個時間大小:\n";

if (t1>t2) cout<<"t1>t2"<=t2) cout<<"t1≥t2"<

第8周任務2

include using namespace std class ctime includeusing namespace std include w.h ctime ctime int h,int m,int s void ctime settime int h,int m,int s void...

第8周任務

老師要求我們一周至少33小時用在實驗室任務方面,很慚愧的說,本週沒有做到。本週的周 一 周二專利組組內沒有進行很多溝通,也沒有和學姐有什麼交流,對專利組應該幹什麼我表示很迷茫,所以我還是每天花了大概2個小時在學習linux,把虛擬機器上的linux配置調整了一下,學習了一些linux的操作。週日老實...

第9周任務2

include using namespace std include time2.h class ctime ctime ctime int h,int m,int s void ctime settime int h,int m,int s void ctime display bool cti...