C++程序无法通过编译 请帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/28 12:42:37
开发环境VC++

#include <iostream>
using namespace std;
class date
{
public:
date(int,int,int);
date(int,int);
datd(int);
date();
void display();
private:
int month;
int day;
int year;
}

date::date(int m,int d,int y):month(m),day(d),year(y)
{}

date::date(int m,int d):month(m),day(d)
{
year=2005;
}

date::date(int m):month(m)
{
day=1;
year=2005;
}

date::date()
{
month=1;
day=1;
year=2005;
}

void date::display()
{cout<<month<<":"<<day<<":"<<year<<endl;}

int main()
{
date d1(2,3,2005);
date d2(3,1);
date d3(4);
date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
}

请帮忙看看问题所在 谢谢~

有两个问题
1:
构造函数datd(int); 把date写错了,应该是date(int);
2:
类定义结束后必须得有分号;

不好意思,我也没看出有什么问题,

修改后的代码:
#include <iostream>
using namespace std;
class date
{
public:
date(int m,int d,int y):month(m),day(d),year(y) {} ;
date(int m,int d):month(m),day(d)
{
year=2005;
};
date(int m):month(m)
{
day=1;
year=2005;
};
date();
void display();
private:
int month;
int day;
int year;
};

date::date()
{
month=1;
day=1;
year=2005;
}

void date::display()
{cout<<month<<":"<<day<<":"<<year<<endl;}

int main()
{
date d1(2,3,2005);
date d2(3,1);
date d3(4);
date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
}

楼上说得对.就是类定义完后面没有加;