设计一个日期类,包含以下功能:
1、只能通过传入年月日初始化。
2、可以加上一个数字n,返回一个该日期后推n天之后的日期。
方法:对日期实现逐月累加
//建立Date.h文件
#pragma once
#include <iostream>
using namespace std;
typedef unsigned int uint;
class Date{
uint m_year;
uint m_month;
uint m_day;
public:
Date(uint y, uint m, uint d) :
m_year(y),
m_month(m),
m_day(d)
{
}
Date operator + (uint delay) const;//保证this不被改变,对 + 运算符进行重载
friend ostream & operator << (ostream &os, Date &d);//对输出运算符 << 重载
};
//建立Date.cpp文件
#include "Date.h"
static uint getMonthDay(uint y, uint m){//计算某年的某月有多少天
if (m > 12 || m == 0){
return 0;
}
if (m == 4 || m == 6 || m == 9 || m == 11){
return 30;
}
else if (m == 2){
return 28 + (y % 400 == 0 || (y % 4 == 0 && y % 100));
}
else{
return 31;
}
}
ostream & operator << (ostream &os, Date &d){
o