C 日期類 cout 過載 友元

2021-10-08 03:23:24 字數 3124 閱讀 1100

日期類c++實現

類的主要內容

1.成員變數:年 year,月month,日day

2.友元,過載實現本類的輸出列印

3.isvalid() 在建構函式中判斷日期是否有效

4.在日期上往前往後新增一定的天數

5.計算兩短日期的差值

類定義 date.h

#ifndef date_h

#define date_h

#include

"iostream"

class

date

friend std::ostream&

operator

<<

(std::ostream &out,date &d)

;bool

isvalid()

const

;int

getdaysofmonth

(const

int&_year,

const

int&_month)

const

;bool

isleapyear

(const

int&_year)

const

;void

show()

const

;bool

operator==(

const date &d)

const

bool

operator!=(

const date &d)

const

bool

operator

<

(const date& d)

const

;//在.cpp具體實現

bool

operator

>

(const date& d)

const

bool

operator

<=

(const date& d)

const

bool

operator

>=

(const date& d)

const

date&

operator=(

const date &d)

return

*this;}

date operator+(

const

int&days)

;//在.cpp具體實現

date&

operator+=

(const

int&days)

date operator-(

const

int&days)

;//在.cpp具體實現

date&

operator-=

(const

int&days)

date&

operator++(

) date operator++(

int)

date&

operator--(

) date operator--(

int)

intoperator-(

const date &d)

const

;protected

:int year;

int month;

int day;};

std::ostream&

operator

<<

(std::ostream &cout,date &d)

;#endif

// date_h

類實現 data.cpp

#include

"date.h"

#include

"assert.h"

#include

"iomanip"

date::

date

(int _year,

int _month,

int _day)

:year

(_year)

,month

(_month)

,day

(_day)

bool date::

isvalid()

const

int date::

getdaysofmonth

(const

int&_year,

const

int&_month)

const;if

(isleapyear

(_year)

&& _month ==2)

++arr[2]

;return arr[_month];}

bool date::

isleapyear

(const

int&_year)

const

void date::

show()

const

/***************過載運算子**************/

bool date::

operator

<

(const date& d)

const

date date::

operator+(

const

int&days)

}return d;

}date date::

operator-(

const

int&days)

}return d;

}int date::

operator-(

const date &d)

const

while

(max != min)

return count * sign;

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

std::ostream&

operator

<<

(std::ostream &cout,date &d)

C 友元函式 友元類

友元函式和友元類 採用類的機制後實現了資料的隱藏與封裝,類的資料成員一般定義為私有成員,成員函式一般定義為公有的,依此提供類與外界間的通訊介面。但是,有時需要定義一些函式,這些函式不是類的一部分,但又需要頻繁地訪問類的資料成員,這時可以將這些函式定義為該函式的友元函式。除了友元函式外,還有友元類,兩...

C 友元函式 友元類

友元函式和友元類 採用類的機制後實現了資料的隱藏與封裝,類的資料成員一般定義為私有成員,成員函式一般定義為公有的,依此提供類與外界間的通訊介面。但是,有時需要定義一些函式,這些函式不是類的一部分,但又需要頻繁地訪問類的資料成員,這時可以將這些函式定義為該函式的友元函式。除了友元函式外,還有友元類,兩...

c 友元類 友元函式

c 類機制實現了資料的隱藏與封裝,類的資料成員一般定義為私有成員,成員函式一般定義為公有的。有時需要定義一些函式,這些函式不是類的一部分,但又需要頻繁地訪問類的資料成員,這時可以將這些函式定義為該類的友元函式。除了友元函式外,還有友元類,兩者統稱為友元。友元的作用是提高了程式的執行效率 即減少了型別...