没有适当的默认构造函数,也没有默认构造函数

时间:2011-08-25 13:25:50

标签: c++ visual-c++

我是C ++的新手,并尝试编写一个“Date Class”程序,对日期进行一些计算。

这两个错误在我看来:

  

错误C2512:'日期':没有合适的默认构造函数

     

IntelliSense:“Date”类没有默认构造函数

在我从类声明一个对象的行中:

int _tmain(int argc, _TCHAR* argv[])
{
    Date d;
}

.h文件中的构造函数:

public:
      Date(int, int, int);

实施:

Date::Date(int d= 0, int m= 0, int y= 0)// DEFAULT CONSTRUCTOR 
{
      d = m = y = 0;
}

请帮助我,为什么会出现此错误?

2 个答案:

答案 0 :(得分:1)

这样做:

.h文件中的构造函数:

public: 
      Date(int=0, int=0, int=0); 

实施:

Date::Date(int d, int m, int y)// DEFAULT CONSTRUCTOR  
{ 
      // Initialize data of this class
} 

方法的原型/声明应该提到默认参数,而不是实现。

答案 1 :(得分:0)

你可能还需要添加这样的构造函数:

public:
     Date();
     Date(int, int, int);

Date::Date()// DEFAULT CONSTRUCTOR 
{
     d = m = y = 0;
}