問題描述:
實現time類中的運算子過載。
[cpp]view plain
copy
?class
ctime
; 提示1:並不是所有比較運算過載函式都很複雜
[cpp]view plain
copy
?//比較運算返回的是比較結果,是bool型的true或false
//可以直接使用已經過載了的運算實現新運算,例如果已經實現了 > ,則實現 <= 就可以很方便了……
bool
ctime::operator <= (ctime &t)
// 判斷時間t1<=t2
甚至可以如下面的**般簡練:
[cpp]view plain
copy
?bool
ctime::operator <= (ctime &t)
提示2:並不是所有復合賦值運算過載函式都需要很複雜
[cpp]view plain
copy
?//可以直接使用已經過載了的加減運算實現
//這種賦值, 例如 t1+=20,直接改變當前物件的值,所以在運算完成後,將*this作為返回值
ctime ctime::operator+=(ctime &c)
提示3:請自行編制用於測試的main()函式,有些結果不必依賴display()函式,提倡用單步執行檢視結果
**:
main.cpp
#include #include "ctime.h"
using namespace std;
int main();
#endif // ctime_h
ctime.cpp
#include #include "ctime.h"
using namespace std;
ctime::ctime(int h,int m,int s)
void ctime::settime(int h,int m,int s)
void ctime::display()
bool ctime::operator
bool ctime::operator==(ctime &s)
bool ctime::operator!=(ctime &s)
ctime ctime::operator+(ctime &s)
if(b>=60)
if(a>=24)
t.settime(a,b,c);
return t;
}ctime ctime::operator-(ctime &s)
if(b<0)
if(a<0)
t.settime(a,b,c);
return t;
}ctime ctime::operator+(int s)
ctime ctime::operator-(int s)
ctime ctime::operator+=(ctime &s)
ctime ctime::operator-=(ctime &s)
ctime ctime::operator+=(int s)
ctime ctime::operator-=(int s)
執行結果:
第八周 專案2 Time類中的運算子過載
實現time類中的運算子過載。class ctime private unsigned short int hour 時 unsigned short int minute 分 unsigned short int second 秒 public ctime int h 0,int m 0,int ...
第八周專案2 Time類中的運算子過載
實現time類中的運算子過載。class ctime 提示1 並不是所有比較運算過載函式都很複雜 比較運算返回的是比較結果,是bool型的true或false 可以直接使用已經過載了的運算實現新運算,例如果已經實現了 則實現 就可以很方便了 bool ctime operator ctime t 判...
第八周專案2 Time類中的運算子過載
問題及 檔名稱 project.cpp 作 者 陳文青 完成日期 2015年5月9日 版 本 號 v1.0 問題描述 實現time類中的運算子過載 程式輸入 程式輸出 include using namespace std class ctime 建構函式 ctime ctime int h,int...