#include <iostream>
#include <iomanip>
using namespace std;
class Date
{
public:
    //构造函数
    Date(int year, int month, int dya)
        :_year(year)
        , _month(month)
        , _day(dya)
    {}
    //计算某一年某一个月的天数
    static int GetMonthDay(int year, int month, int dya)
    {
        static int MonthDay[13] = { -1,31,28,31,30,31,30,31,31,30,31,30,31 };
        //判断是不是闰年
        if ((month == 2) && ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0)))
        {
            return 29;
        }
        return MonthDay[month];
    }

    //运算符重载
    Date& operator+=(int day)
    {
        _day += day;
        while (_day > GetMonthDay(_year, _month, _day))
        {
            
            _day -= GetMonthDay(_year, _month, _day);
            ++_month;
            if (_month > 12)
            {
                _year++;
                _month = 1;
            }

        }
        return *this;
    }
    //打印函数
    void _print()
    {
        std::cout << std::setw(4) << std::setfill('0') << _year << "-"
            << std::setw(2) << std::setfill('0') << _month << "-"
            << std::setw(2) << std::setfill('0') << _day << std::endl;
    }
private:
    int _year;
    int _month;
    int _day;
};
//支持连续输入输出
int main()
{
    int year; int month; int day; int Day; int conut;
    cin >> conut;
    for (int i = 0; i < conut; i++)
    {
        cin >> year >> month >> day >> Day;
        Date A(year, month, day);
        A += Day;
        A._print();
    }

    return 0;
}

https://blog.csdn.net/Jason_from_China/article/details/142516352

这里本质也就是应该日期类的实现,所以还是很简单的,我这里直接上代码,不过多赘述

注意事项:

1,这里主要是输出的时候是需要注意格式的,_prntf