借助c 實現日期類

2021-08-17 22:30:43 字數 2354 閱讀 9139

本篇部落格借用c++簡單實現乙個日期類

其中包括日期計算器,日期比較大小。

接下來我將注釋寫到**中方便理解。

date.h

#pragma once

class date

}//拷貝建構函式

date(const date& d)

return *this;

}//析構函式

~date()

//列印日期

void show()

//判斷是否為閏年,是返回1,不是返回0

bool isleapyear(int year)

return

0;//不是閏年

}//因每月天數不同,故借助陣列設定,陣列元素第1個為0,其餘的為相應的月份

//當然也可使用switch語句

int getmonthday(int year, int month)

;monthday[2] = 28;//2月份不確定

if ((month == 2) && isleapyear(year))//閏年2月28天

return monthday[month];//返回每月天數

}//判斷輸入的年月日是否合法

bool isinvalid()

//判斷日期是否相等,年月日

bool

operator==(const date& d)

return

false;

}bool

operator!=(const date& d)

//《取反

bool

operator>=(const date& d)

bool

operator

<=(const date& d)

//比較日期大小 d1>d2

bool

operator>(const date& d)

return

false;

// d1 < d2

bool

operator

<(const date& d)

return

false;

}//日期加天數,超過本年,超過本月

// d1 + 10

date operator+(int day)

date ret(*this);

ret._day += day;

//當加天數後大於本月天數時

while (ret._day>getmonthday(ret._year, ret._month))

}return ret;

}date& operator+=(int day)

return *this = *this + day;

}//日期減天數,當月餘額不足,年餘額不足

date operator-(int day)

date ret(*this);

ret._day -= day;

while (ret._day <=0)//本月天數已減完

}return ret;

}date& operator-=(int day)

return *this = *this - day;

}//++d1

date& operator++() // 前置++,先++,(相當於x=1,++x,結果x=2)

//d1++

date operator++(int) // 後置 (相當於x=1,x++,結果x=1)

date operator--()//前置--,同前置++

//後置--

date operator--(int)//也可以為指標

//兩個日期相減

//思路:大的日期--到小的日期,得到的差為兩日期之差

intoperator-(const date& d)

while (maxdate != mindate)

return day*flag;

}private:

int _year;

int _month;

int _day;

};//測試

void testdate()

//測試部分

test.cpp

#include 

#include

#include

using

namespace

std;

#include "date.h"

int main()

以上,我們可以計算一下我們從誕生至今生存了多久嘍(ps 本人已活7579days嘍)

C 實現日期類

功能 實現日期的簡單操作 基本的成員函式 建構函式,拷貝建構函式,析構函式,賦值運算子過載,操作符過載 兩個日期間比較大小 日期類功能函式 1 計算乙個日期加上多少天數後的日期 2 把該日期改為加上指定數目的天數後的日期 3 乙個日期減上多少天數後的日期 4 把該日期改為減去指定數目的天數後的日期 ...

C 實現日期類

date 日期 類 練習實現類的成員函式。運算子的過載 date.h include class date date int year,int month,int day 全預設建構函式 date const date d 拷貝構造 date operator const date d 賦值運算子的...

C 實現日期類

預設成員函式的應用場景 date date1 當我們例項化乙個物件date1時,就會呼叫 建構函式,所以我們可以使用建構函式對物件進行初始化。date date2 date1 當我們例項化物件date2的同時將乙個已存在的物件的內容拷貝過來,就會呼叫拷貝建構函式。date date3 date3 d...