这个C++程序有什么问题?急求!!!

using namespace std;
class Date
{public:
Date(int,int,int);
Date(int,int);
Date(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(10,13,2005);
Date d2(12,30);
Date d3(10);
Date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
}

帮你修改了下
http://codepad.org/NAPhIKjq

 using namespace std;
class Date
{public:
    Date(int,int,int);
    Date(int,int);
    Date(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(10,13,2005);
    Date d2(12,30);
    Date d3(10);
    Date d4;
    d1.display();
    d2.display();
    d3.display();
    d4.display();
    return 0;
} 

运行结果
10/13/2005
12/30/2005
10/1/2005
1/1/2005

你为啥不加头文件啊?

Date::Date();多了个分号吗?

具体什么错误?
你对照编译器看看错误提示

如果没有语法错误,就是Date::Date();这里错了

#include
using namespace std;
class Date
{
public:
Date(int,int,int);
Date(int,int);
Date(int);
Date();
void display();
private:
int year;
int month;
int day;

};
Date::Date(int y,int m,int d):year(y),month(m),day(d)
{
}
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<<year<<"/"<<month<<"/"<<day<<endl;
}
int main()
{
Date d1(2005,10,13);
Date d2(12,30);
Date d3(10);
Date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
}

    /* 没什么大问题,就去掉个分号就行了*/

加上头文件后,有一处需要改动。对复制构造函数进行初始化的时候多了一个分号: Date::Date();