第八周 專案二 Time類中的運算子過載

2021-07-02 17:28:11 字數 1804 閱讀 5935

問題及**:

/*

*檔名稱:test.cpp

*完成日期:2023年04月29日

*版本號:v1.0

**問題描述:實現time類中的運算子過載。

*提示1:並不是所有比較運算過載函式都很複雜

//比較運算返回的是比較結果,是bool型的true或false

//可以直接使用已經過載了的運算實現新運算,例如果已經實現了 > ,則實現 <= 就可以很方便了……

bool ctime::operator <= (ctime &t) // 判斷時間t1<=t2

甚至可以如下面的**般簡練:

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

提示2:並不是所有復合賦值運算過載函式都需要很複雜

//可以直接使用已經過載了的加減運算實現

//這種賦值, 例如 t1+=20,直接改變當前物件的值,所以在運算完成後,將*this作為返回值

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

提示3:請自行編制用於測試的main()函式,有些結果不必依賴display()函式,提倡用單步執行檢視結果

*輸入描述:略

*程式輸出:略

*/#includeusing namespace std;

class ctime

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

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

void ctime::display()

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

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

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

ctime ctime::operator+(ctime &t)

if (m>59)

if (h>23) h-=24;

ctime t0(h,m,s);

return t0;

}ctime ctime::operator-(ctime &t)

if (m<0)

if (h<0) h+=24;

ctime t0(h,m,s);

return t0;

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

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

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

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

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

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

int main()

{ int s;

ctime t1(15,54,59),t2(12,54,43),t3;

cout<

t1.display();

cout<

t2.display();

cout

cout執行結果:

知識點總結;在這個程式中還存在一定的問題,就是在-=乙個物件和整型數時都為原來的數並未進行計算,不知道什麼原因。

學習心得:按時完成作業,基本的。。。

第八周專案二time類中的運算子過載

作 者 紀麗娜 完成日期 2014 年 4 月 15 日 版 本 號 v1.0 問題描述 include using namespace std class ctime void settime int h,int m,int s void display 二目的比較運算子過載 bool opera...

第八周(專案二) Time類中的運算子過載。

02.煙台大學計算機學院學生 03.all right reserved.04.檔名稱 煙台大學計算機學院學生 05.all right reserved.06.檔名稱 time類中的運算子過載。08.完成日期 2013年4月17日 09.版本號 v1.0 10.對任務及求解方法的描述部分 time...

第八周專案二 Time類中的運算子過載

01.01.02.02.02.02.程式的版權和版本宣告部分 05.05.05.05.檔名稱 score.cpp 06.06.06.06.作 者 董倩 07.07.07.07.完成日期 2014年 4 月 15 日 08.08.08.08.版本號 v1.0 09.09.09.09.輸入描述 已經在程...