类的一个简单问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 03:30:12
#include<iostream.h>

class data
{
private:
int month;
int day;
int year;
public :
data(int,int,int);
void Print();
};
data::data(int mm=7,int dd=4,int yy=94)
{
month=mm;
day=dd;
year=yy;
}

void data::Print(void)
{
cout<<"to product a initialization\n"
<<month<<","<<day<<","<<year<<"\n"<<endl;
}
int main()
{
data a;///这里编译就会出现问题,必须用data a();
a.Print();//但是如果上面用a(),这里一会有问题

data b(12);
b.Print();

data c(12,43);
c.Print();

data d(13,14,15);
d.Print();

return 0;
}

但是如果把那个构造函数写在里面的话就什么问题都没有了。请教,谢谢

这段代码在Dev-C++中没有问题:(修改了部分)

#include<iostream>

class data
{
private:
int month;
int day;
int year;
public :
data(int,int,int);
void Print();
};
data::data(int mm=7,int dd=4,int yy=94)
{
month=mm;
day=dd;
year=yy;
}

void data::Print(void)
{
std::cout<< "to product a initialization\n"
<< month << "," << day << "," << year << "\n" << std::endl;
}
int main()
{
data a;///这里编译就会出现问题,必须用data a();
a.Print();//但是如果上面用a(),这里一会有问题

data b(12);
b.Print();

data c(12,43);
c.Print();

data d(13,14,15);
d.Print();

return 0;

}

data::data(int mm=7,int dd=4,int yy=94)
{
month=mm;
day=dd;
yea