日期函数调用不起作用

时间:2014-04-25 16:39:17

标签: c++

我正在尝试调用构造函数来调用checkDate函数,但无效:( ..我真的很陌生。

class Date
{    
    public:
        Date();
    Date(int, int, int);
private:
    void checkDate(void);
    int month, day, year; 
};

Date:: Date() // default constructor
{
    month = 1;
day = 1;
year = 1960;
}

Date:: Date(int m, int d, int y) // constructor definition
{
m = month, d = day, y = year;
checkDate();
}

void Date:: checkDate() // function to check date
{
if (month < 1 || month > 12)
    exit(0);
else if (day < 1 || day > 31)
    exit(0);
else if (year < 1960 || year > 2013)
    exit(0);
else
    cout << "Works." << endl;
}

int main()
{
Date();
Date(1, 1, 1960); //make this work PLEASEEEEEE <333333333333333333333
}

这是我到目前为止所拥有的。 我是这个网站的新手,不确定我是否正确发布。

2 个答案:

答案 0 :(得分:2)

你的date(int,int,int)构造函数错误地分配了变量。你想要的是月= m; day = d;年= y;

答案 1 :(得分:1)

更改

Date:: Date(int m, int d, int y) // constructor definition
{
    m = month, d = day, y = year;
    checkDate();
}

Date:: Date(int m, int d, int y) // constructor definition
{
    month = m, day = d, year = y ;
    checkDate();
}

我实际上会改变aaaalot,但这是我能给你的最简单的答案,工作,工作,工作。