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