代码可以运行,但没有达到预期效果

#include <iostream>
using namespace std;
class Date
{
public:
    Date() {}//构造函数
    int fun(int y,int m, int d, int n, int w);
    ~Date() {};//析构函数
};

int Date::fun(int y, int m, int d, int n, int w)
{
    switch (m)
    {
    case 2:n = 28;
        if ((y % 4 == 0 && y % 100 == 0) || (y % 400 == 0))n++;//闰年二月天数加一
        break;
    case 4:case 6:case 9:case 11:n = 30;
        break;
    default:n = 31;
    }
    d++;
    if (d > n)d = 1, m++;
    if (m > 12)m = 1, y++;
    w++;
    if (w == 8)w = 1;
    return 0;
}

int main()
{
    Date date;
    int y; int m; int d; int n = -1; int w;
    cout << "请输入日期(如2019年2月28日星期四应输入2019 2 28 4):";
    cin >> y >> m >> d >> w;
    date.fun( y,  m,  d,  n, w);
    int choose;
    cout << "请选择输出方式:1.x年x月x日星期x   2.x/x/x";
    cin >> choose;
    if (choose == 1)
    {
        cout << y << "年" << m << "月" << d << "日星期" << w << endl;
    }
    else
    {
        cout << y << "/" << m << "/" << d << endl;
    }
    return 0;
}

我的预想是:输入一个日期,输出其第二天的日期;
但是现在,输入与输出的日期是一致的。

请问如何能够实现日期后推一天?谢谢解答。

1、建议不要自己写这样的类,因为c++自带了struct tm和time_t结构可以实现你的功能。
2、输入的日期比如说是当前日期;time_t lt;lt = time(NULL);这样就获取到了。
3、下一天就直接lt += 86400;就可以了。86400代表24x60x60。
4、把time_t It转成struct tm ,这样操作就可以了,struct tm * prt = localtime(&lt);
5、把struct tm 转成time_t ,这样操作就可以了,time_t It= mktime(ptr);
6、time_t 和struct tm,稍微百度一下就知道用法了。自己输入的日期赋值给struct tm,再如上转换一下就OK了。