源程式:
#include using namespace std;
class ctime
void settime(int h,int m,int s)
friend ostream&operator << (ostream&,ctime&);
friend istream&operator >> (istream&,ctime&);
//比較運算子(二目)的過載
bool operator > (ctime &t);
bool operator < (ctime &t);
bool operator >= (ctime &t);
bool operator <= (ctime &t);
bool operator == (ctime &t);
bool operator != (ctime &t);
//二目運算子的過載
ctime operator+(ctime &c);//返回c所規定的時、分、秒後的時間,例t1(8,20,25),t2(11,20,50),t1+t2為:41:15
ctime operator-(ctime &c);//對照+理解
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秒前的時間
};//下面實現所有的運算子過載**。
//為簡化程式設計,請注意通過呼叫已有函式,利用好各函式之間的關係
bool ctime::operator > (ctime &t)
bool ctime::operator < (ctime &t)
bool ctime::operator >= (ctime &t)
bool ctime::operator <= (ctime &t)
bool ctime::operator == (ctime &t)
bool ctime::operator != (ctime &t)
ctime ctime::operator+(ctime &c)
else
ct.second = ct.second + c.second;
if (ct.minute + c.minute >= 60)
else
ct.minute = ct.minute + c.minute;
if (ct.hour + c.hour >= 60)
ct.hour = ct.hour + c.hour - 60;
else
ct.hour = ct.hour + c.hour;
return ct;
}ctime ctime::operator-(ctime &c)
else
ct.second = ct.second - c.second;
if (ct.minute < c.minute)
else
ct.minute = ct.minute - c.minute;
if (ct.hour < c.hour)
ct.hour = ct.hour + 24 - c.hour;
else
ct.hour = ct.hour - c.hour;
return ct;
}ctime ctime::operator+(int 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)
ctime ctime::operator-=(int s)
ostream&operator << (ostream&output,ctime&t)
void main()
{ ctime t1, t2, t;
cin>>t1>>t2;
cout << "t1為:"t2" << endl;
if (t1 < t2) cout << "t1= t2) cout << "t1≥t2" << endl;
if (t1 <= t2) cout << "t1≤t2" << endl;
cout << endl;
//下面自行設計對其他運算子的過載的測試
t = t1 + t2;
cout << "t1+t2="<
執行結果:
Time類中的運算子過載(2) 二目運算子的過載
問題描述及 檔名稱 hellow.cpp 完成日期 2016年5月19日 版本號 v1.0 問題描述 實現time類中的運算子過載。輸入描述 程式輸出 include using namespace std class ctime void set time int h,int m,int s vo...
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 下面實現所有的運算子過載 ...