Time類中運算子過載的改造

2021-06-21 15:44:43 字數 2569 閱讀 2406

/*

* 程式的版權和版本宣告部分

* 檔名稱:a.cpp

* 作 者:孔雲

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

* 版 本 號: v1.0

* 輸入描述:主函式中給出。

* 問題描述:實現time類中的比較、賦值、一目運算、二目運算子過載及定義流插入運算子的過載。

* 輸出描述:各種運算結果。

*/#include #include using namespace std;

class ctime

void settime(int h,int m,int s);

//二目的比較運算子過載

bool operator > (ctime &t);

bool operator < (ctime &t);

bool operator >= (ctime &t);

bool operator <= (ctime &t);

bool operator == (ctime &t);

bool operator != (ctime &t);

//二目的加減運算子的過載

//返回t規定的時、分、秒後的時間,例t1(8,20,25),t2(11,20,50),t1+t2為:41:15

ctime operator+(ctime &t);

ctime operator-(ctime &t);//對照+理解

ctime operator+(int s);//返回s秒後的時間

ctime operator-(int s);//返回s秒前的時間

//一目運算子的過載

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

ctime operator++();//前置++,下一秒,前置與後置返回值不一樣

ctime operator--( int);//後置--,前一秒

ctime operator--();//前置--,前一秒

//二目賦值運算子的過載

ctime operator+=(ctime &c);

ctime operator-=(ctime &c);

ctime operator+=(int s);//返回s秒後的時間

ctime operator-=(int s);//返回s秒前的時間

//過載流輸入運算子

friend ostream& operator<

};//下面實現所有的運算子過載**。

//定義資料成員賦值函式

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

//定義二目比較運算子過載相關函式

bool ctime::operator > (ctime &t)

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)

ctime t1(h,m,s);

return t1;

}ctime ctime::operator-(ctime &t)

if(m<0)

if(h<0)

ctime t2(h,m,s);

return t2;

}ctime ctime::operator+(int s)

ctime ctime::operator-(int s)

//定義一目運算子過載相關函式

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

return temp;

}ctime ctime::operator++()//前置++,下一秒,前置與後置返回值不一樣

return *this;

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

return t;

}ctime ctime::operator--()

return *this;

}//定義二目賦值運算子過載的相關函式

ctime ctime::operator+=(ctime &c)

ctime ctime::operator-=(ctime &c)

ctime ctime::operator+=(int s)//返回s秒後的時間

ctime ctime::operator-=(int s)//返回s秒前的時間

//定義流插入運算子過載函式

心得體會:此程式中所做的都是各種運算子的過載,但其實現是通過定義函式完成函式功能,表面上函式是其載體,而運算子過載的實質是函式的實現!

Time類中的運算子過載

include using namespace std class ctime void settime int h,int m,int s void display 二目的比較運算子過載 bool operator ctime t bool operator ctime t bool operat...

Time 類中的運算子過載

程式的版權和版本宣告部分 檔名稱 time 類中的運算子過載 作 者 馮冬影 完成日期 2014 年 4月 14日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 問題描述 程式輸出 includeusing namespace std class ctime 下面實現所有的運算子過載 ...

Time類中的運算子過載

includeusing namespace std class ctime void settime int h,int m,int s void display 下面實現所有的運算子過載 bool ctime operator ctime t 判斷時間t1 t2 bool ctime opera...