//头文件 Date.h
#ifndef DATE_H
#define DATE_H
#include <iostream>
#include <array>
using namespace std;
class Date
{
public:
explicit Date(int,int,int);
~Date();
void setDate(int, int, int);
void nextday();
bool endOfDay(int,int,int);
bool leafYear(int);
void displayMessage();
private:
int m_year;
int m_month;
int m_day;
};
#endif
//Date.cpp
#include "Date.h"
Date::Date(int day,int month,int year)
{
setDate(day,month,year);
}
Date::~Date()
{
}
void Date::setDate(int day, int month, int year)
{
static array<int, 12> ArrayMonth =
{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (year > 0)
m_year = year;
if (month > 0 && month <= 12)
m_month = month;
if (day > 0 && day < ArrayMonth[month])
m_day = day;
if (month == 2 && leafYear(year) && day <= 29)
m_day = day;
}