第12周專案2 Time類中的運算子過載

2021-07-12 01:37:07 字數 1752 閱讀 4195

/*

*檔名:zhang.cpp

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

*版本號:v1.0

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

*/#includeusing namespace std;

class ctime

;ctime::ctime(int h,int m,int s):hour(h),minute(m),second(s){}

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

void ctime::display()

return cin;

}// 過載輸出運算子<<

ostream &operator<

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

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

if(m>59)

while(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=h+24;

ctime t0(h,m,s);

return t0;

}//減去s秒之後

ctime ctime::operator-(int s)

//單目運算子過載

ctime ctime::operator++(int)//後置++,下一秒

ctime &ctime::operator++()//前置++,下一秒

ctime ctime::operator--(int)//後置--,下一秒

ctime &ctime::operator--()//後置--,下一秒

//複製運算子過載

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,t2,t;

cout<

cin>>t1;

cout<

cin>>t2;

cout<

學習心得:

這個程式包含了各種的函式過載,在寫這個**時也遇到了很多的錯誤,在一開始的時候沒有寫輸入輸出運算子的過載導致一下子出現的好多的錯誤,找了好久才發現哲哲錯誤。還有事忘記了定義建構函式一下出現了好多個錯誤【main.cpp|181|undefined reference to `ctime::ctime(int, int, int)'|】。還有在這個程式中二目,一目,複製的運算子過載的區別,可以直接使用已經過載了的運算實現新運算,【例如果已經實現了 > ,則實現 <= 就可以直接用】還要區別ctimeoperator++(int);和 ctime &operator++();

乙個是用的引用



第12周專案2 Time類中的運算子過載

檔名稱 time類中的運算子過載 作 者 岳成豔2016年5月25號 版 本 號 vc 6.0 問題描述 實現time類中的運算子過載。程式輸入 略 程式輸出 略 include using namespace std class ctime ctime ctime int h,int m,int ...

第12周專案2 Time類中的運算子過載

檔名稱 第12周專案2 time類中的運算子過載 完成日期 2016.5.25 版本號 v1.0 問題描述 實現time類中的運算子過載。輸入描述 程式輸出 includeusing namespace std class ctime ctime ctime int h,int m,int s ho...

第12周專案2 Time類中的運算子過載

問題及 檔名稱 test.cpp 完成日期 2016年5月27日 版本號 v1.0 問題描述 實現time類中的運算子過載。輸入描述 程式輸出 includeusing namespace std class ctime ctime ctime int h,int m,int s void ctim...