Date類的實現

2021-10-06 04:39:21 字數 2775 閱讀 9111

類與物件以及過載函式的運用:

ps:有幾個需要注意的小點就直接注釋在**中了。

date.h

#pragma once

#include

using

namespace std;

class

date

;

date.cpp
#include

"date.h"

bool

leapyear

(int year)

date::

date

(int year=

1990

,int month=1,

int day=1)

//構造

else

}date::

date

(const date& d)

//拷貝構造 d2(d1)

date::

~date()

date& date::

operator=(

const date& d)

//賦值運算子過載,有深拷貝的時候(字串),必須顯式定義

return

*this

;//返回引用,而不是void,是為了可以實現連續賦值操作

}date& date::

operator+=

(int day)

//日期+=天數

_day +

= day;

while

(_day >

getmonthday

(_year, _month))}

return

*this;}

date date::

operator+(

int day)

//日期+天數

date& date::

operator-=

(int day)

//日期-=天數

_day -

= day;

while

(_day <1)

}return

*this;}

date date::

operator-(

int day)

//日期-天數,不改變日期本身

date& date::

operator++(

)//++date

date date::

operator++(

int)

//date++

date& date::

operator--(

)//--date

date date::

operator--(

int)

//date--

bool date::

operator==(

const date& d)

// ==運算子過載

bool date::

operator!=(

const date& d)

// !=運算子過載

bool date::

operator

>

(const date& d)

// >運算子過載

else

if(_year == d._year)

else

if(_month == d._month)}}

return

false;}

bool date::

operator

>=

(const date& d)

// >=運算子過載

bool date::

operator

<

(const date& d)

// 《運算子過載

bool date::

operator

<=

(const date& d)

// <=運算子過載

int date::

getmonthday

(int year,

int month)

// 獲取某年某月的天數

;int day = days[month];if

(month ==2&&

leapyear

(year)

)return day;

}int date::

operator-(

const date& d)

//兩個日期相差多少天

int days =0;

while

(mindate + days < maxdate)

return days;

}void date::

print()

const

//列印

ostream&

operator

<<

(ostream& _cout,

const date& date)

istream&

operator

>>

(istream& _cin, date& date)

main.cpp
#include

"date.h"

#include

void

test()

intmain()

敲的越多手越穩!

Date類的實現

話說c 和c最重大的不同就是c 有了類這個型別,今天就來封裝乙個類。日期類是一種很常用的類,但是c 就是沒有封裝,只能手動封裝了。涉及到類的構建,一定記住上來先考慮預設成員函式 建構函式 拷貝構造 運算子過載 析構函式 日期類主要有以下功能。1.顯示 2.判斷兩個日期的關係 3.日期加天數 4.日期...

C 類的實現 Date類

主要是有每月的天數問題 另外過載 days時注意不能越界 出現13月時下一年一月 過載比較時只需要實現乙個 其他的直接呼叫這個就可以了 寫到最後發現基本都是直接呼叫之前寫的東西,還是挺好寫的。include using namespace std class date date const date...

Date類,實現日期類

1 概述 類 date 表示特定的瞬間,精確到毫秒。2 構造方法 public date public date long date 把乙個long型別的毫秒值轉換成乙個日期物件 3 成員方法 public long gettime 獲取乙個日期物件物件毫秒值 public void settime...