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