日期類 日期計算器

2021-08-03 18:46:43 字數 2243 閱讀 9840

date.h

#pragma once

#include

using

namespace

std;

class date

}//operator>

inline

bool

operator>(const date& d) const

else

if (_year == d._year)

else

if (_month == d._month)}}

return

false;

}//operator>=

inline

bool

operator>=(const date& d) const

//operator<

bool

operator

//operator<=

inline

bool

operator

<=(const date& d) const

//operator==

inline

bool

operator==(const date& d) const

//operator!=

inline

bool

operator!=(const date& d) const

bool isinvalid()

else

}//d1 + 100

date operator+(int day)

date tmp(*this);

tmp._day += day;

while (tmp.isinvalid())

}return tmp;

}inline date& operator+=(int day)

date operator-(int day)

date tmp(*this);

tmp._day -= day;

while (tmp.isinvalid())

tmp._day += getmonthdays(tmp._year, tmp._month);

}return tmp;

}date& operator-=(int day)

inline date& operator++()

inline date operator++(int)

inline date& operator--()

inline date operator--(int)

intoperator-(const date& d)

int count = 0;

while (min != max)

return count*tag;

}void display()const

inline

static

bool isleapyear(int year)

return

false;

}inline

static

int getmonthdays(int year, int month)//判斷日期是否合法

static

int monthdays[13] = ;

int days = monthdays[month];

if (month == 2 && isleapyear(year))

return days;

}private:

int _year;

int _month;

int _day;

};//過載《和》的原因:例如cout

<

//這裡不寫成void operator<

istream& operator>>(istream& in, date& d)

//這裡的date& d不能寫成const date& d,不能加const的原因是輸入乙個日期會被修改。

void testdate()}}

test.cpp

#include"date.h"

int main()

程式執行結果:

日期類 日期計算器

想要完成日期計算器其實只要考慮完成兩個工作就可以了 實現第乙個工作時,如果是減去乙個天數,例如 給定2017 7 10 與減去乙個天數不同的加乙個天數 即多少天以後 需要向當前月份的下乙個月借天數減去目標天數來滿足年月日合法。加減乙個目標天數的實現思路個方法是一樣的。個中細節請參考 中的注釋。實現第...

實現日期類(日期計算器)

在日常生活中,需要我們計算一些日期,如果一些小的數字相加的話,我們便可以很方便的就計算出來,然而如果需要加上一些特別大的數字的時候,則會很浪費我們的時間,因此,日期計算機的出現,極大的方便了我們的生活,為我們帶來極大的便利。下面,我們將給出這個日期計算機的實現方式,希望大家相互學習,相互鼓勵。思路 ...

日期計算器

define crt secure no warnings include includeusing namespace std class date bool operator const date d 小於運算子的過載 bool operator const date d 等於運算子的過載 bo...