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

2021-07-02 01:27:03 字數 1911 閱讀 2736

/*

* 檔名稱:test.cpp

* 作 者:劉佳琦

* 完成日期:2023年 4 月 25 日

* 版 本 號:v1.0

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

* 程式輸入:無

* 程式輸出:進行運算子過載後的時分秒

*/#include using namespace std;

class ctime

;//建構函式

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

// 設定時間

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

//顯示時間

void ctime::display()

bool ctime::operator < (ctime &t)// 判斷時間t1t.hour) return false;

if (minutet.minute) return false;

if (secondt) return false;

return true;

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

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

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

//二目運算子的過載

ctime ctime::operator + (ctime &t)

if (m>59)

if (h>23) h-=24;

ctime t0(h,m,s);

return t0;

}//返回s秒後的時間

ctime ctime::operator+(int s)

// 計算時間之差

ctime ctime::operator - (ctime &t)

if (m<0)

if (h<0) h+=24;

ctime t0(h,m,s);

return t0;

}//返回s秒前的時間

ctime ctime::operator-(int 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()

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

cout<

t1.display();

cout<

t2.display();

cout<

if (t1>t2) cout執行結果:

還有個單步除錯版本的~隨手截了兩個圖~

學習心得:

根據老師的提示,寫完了呼叫函式,不過寫的過程心好累...返回s秒前的那個呼叫函式參考了賀老的,其中想法就是把增加的時間換算成時分秒形式然後再進行減法運算,可以直接呼叫已經過載好了的函式,方便許多,比我之前想的重新定義的方法容易多了。對於this指向的當前函式有些迷惑,不過通過單步,很容易就看出來了~

第八周專案二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.輸入描述 已經在程...