日期類與時間類定義(運算子過載應用)

2022-06-05 20:30:11 字數 2330 閱讀 8038

日期類定義(運算子過載應用):

class

data

//起初只是用來表示出版日期,後來發現借閱與歸還日期都可用

;data

(int year1,

int month1,

int day1)

:year

(year1)

,month

(month1)

,day

(day1)

;friend ostream&

operator

<<

(ostream&os,

const data&d)

;friend istream&

operator

>>

(istream&is,data&d)

;bool

operator

<

(const data &d)

const

//日期比較函式

intoperator

-(data d)

//對日期的操作,可以直接按月份進行兩個月的相減操作,也可以按如下方式進行精確一點的操作(還可以判斷平年閏年進行更精確的操作)

;//按下標(對應月份)補齊,第乙個數不計,對於每年的二月按28天計(不考慮平年閏年)

int count=0;

int a=d.year,b=d.month,c=d.day;

while(1

)else b++;}

else c++

; count++;}

return count;

} data operator+(

int x)

;//按下標(對應月份)補齊,第乙個數不計,對於每年的二月按28天計(不考慮平年閏年)

while

(x--

)else month++;}

else day++;}

return

*this;}

};istream&

operator

>>

(istream&is,data&d)

//先過載出版日期的輸入輸出

return is;

}ostream&

operator

<<

(ostream&os,

const data&d)

時間類定義(運算子過載應用):
class

time;~

time()

;time

(int year1,

int month1 ,

int day1,

int hour1,

int min1)

:year

(year1)

,month

(month1)

,day

(day1)

,hour

(hour1)

,min

(min1)

;friend istream&

operator

>>

(istream&

,time&t)

;friend ostream&

operator

<<

(ostream&

,const time&t)

;int

operator

-(time t)

//過載運算子"-"在類內定義,類外定義由於year,month等是私有的,需使用get函式獲取資料,沒有必要

;//按下標(對應月份)補齊,第乙個數不計,對於每年的二月按28天計(不考慮平年閏年)

while(1

)}}}

else

}//cout}//time operator+ (int i); //利用"-"操作可以代替"+"

//對於時間的比較,一開始不打算用的,不過後面的登入以及對使用者對待出行車票的檢視都需要用到

bool

operator

<

(const time&t)

const

bool

operator==(

const time&t)

const};

istream&

operator

>>

(istream&in,time&t)

return in;

}ostream&

operator

<<

(ostream&out,

const time&t)

日期類之運算子過載

date.h pragma once include include using namespace std class date date const date d 拷貝構造 date bool isinvalid void show date operator const date d 賦值運算...

運算子類過載

類過載格式 函式型別 operator 運算子名稱 形參表 型引數 使用引數 1 使用 號實現複數相加 不使用類過載 include using namespace std class complex complex double r,double i complex complex add com...

C 實現日期類(運算子過載)

經歷前期c語言的學習,c語言的程式設計思路是面向過程的程式設計,將所需要實現的功能封裝為每乙個功能函式,在主函式中進行呼叫 c 程式設計思想是物件導向的程式設計,相比較於c語言的程式設計,它更具有更高的安全性和可維護性,c 的特性將功能利用類進行抽象後進行封裝,之後在通過建立物件實現功能呼叫 基於基...