/*
* 檔名稱: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.輸入描述 已經在程...