這篇部落格簡單實現乙個日期類,直接發**
class
date;if
(month ==2&&
((year %4==
0&& year %
100!=0)
|| year %
400==0)
)else
}//這個函式的功能是輸入年和月來判斷這個月的天數
date
(int year =0,
int month =1,
int day =1)
else
}//判斷日期是不是合法日期
inline
bool
operator
<
(const date& d)
return
false;}
//判斷日期的大小
inline
bool
operator==(
const date& d)
inline
bool
operator
<=
(const date& d)
// d1 > d2
inline
bool
operator
>
(const date& d)
inline
bool
operator
>=
(const date& d)
inline
bool
operator!=(
const date& d)
// ++d1;
// d1.operator++(&d1)
date&
operator++(
)// d1++ // 後置++多呼叫兩次拷貝構造,建議使用前置++
// d1.operator++(&d1, 0)
date operator++(
int)
// 為了區分於前置++,這裡加乙個引數
d1 +
100 d1.
operator+(
&d1,
100)
;/*date operator+(int day)
}return tmp;
}*/// 使用+=復用去實現+
// d1 + 100
date operator+(
int day)
// d1 += 100
// d1.operator+=(&d1, 100);
date&
operator+=
(int day)
_day +
= day;
while
(_day >
getmonthday
(_year, _month))}
return
*this;}
date operator-(
int day)
date&
operator-=
(int day)
_day -
= day;
while
(_day <=0)
// 注意不是<
_day +
=getmonthday
(_year, _month);}
return
*this;}
// d1 - 100
// date operator-(int day);
// d1 - d2
intoperator-(
const date& d)
void
print()
private
:int _year;
int _month;
int _day;};
void
test1()
void
test2()
intmain()
這就是這篇部落格,可能有點水,hhh. 日期類的簡單實現
日期類的簡單實現 1 對於一些運算子的過載 以下是我們建立乙個日期類及最基本的函式宣告。includeusing namespace std class date date operator const date date date operator date operator int date o...
日期類的簡單實現
1.要考慮到日期的合法性,如果不合法,置成1990.1.1 2.由於在日期類,沒有用到資源的開闢,所以我們可以使用編譯器自動合成的拷貝構造,賦值運算子過載等。3.實現乙個日期加上n天後,日期為多少 4.實現乙個日期減去n天後,日期為多少 5.求兩個日期之間相隔多少天 如下 include using...
C 日期類簡單實現
剛剛開始學c 一般入門都會了解到日期類,對於日期類,我們首先是要了解。不過,如果我們能夠更加的了解它,對於後面我們學習其他類的話,會有乙個很大的幫助。現在在這兒,簡單實現一下日期類的一些介面 include using namespace std class date include date.h ...