C++的问题?

来源:百度知道 编辑:UC知道 时间:2024/07/05 00:18:21
试问那里出问题了:?

#include<iostream>
using namespace std;
class Date
{public:
Date(int=1,int=1,int=2005);
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(int m,int d,int y)
{month=m;
day=d;
year=y;
}
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;
}

你的四个构造函数的形参表重复了,无法判断你调用是到底要调用哪一个,因此无法重载
只保留这个就行了
Date(int=1,int=1,int=2005);
Date::Date(int m,int d,int y):month(m),day(d),year(y)
{}

Turbo C++我看不太懂。。
不过应该和Visual差不多吧。。
class Date
{public:
Date(int=1,int=1,int=2005);

这个算是char signed int
以Visual C++的形式应该是:
char int year
{
cin>>public
Date(int1=1,int2=2,int3=2005)
属于巢状型的。。。。
void Date::display()
{cout<<month<<"/"<<day<<"/"<<year<<endl;}
这个之间应该有函数。。。设定的iostream啊
viod date
{
cout<<char int year<<"/n"day<<"/n"month<<"/n"year<<endl;
这个如果以Visual应该是这样的。。没有函数支持。。是无法显示数据的。。。要么用头文件还干嘛啊?
cout<<month<<"/"<<day<<"/"<<year<<endl;}

int main()
之间空格应该有一个}表示上段叙述已经完毕。。