本篇部落格借用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...