路过的大侠看看我这个错误是怎么回事?

来源:百度知道 编辑:UC知道 时间:2024/06/05 09:47:02
1 #include<iostream>
2 using std::cout;
3 using std::endl;
4 class Date{
5 public:
6 Date(int=1,int=1,int=1990);
7 void print();
8 private:
9 int month;
10 int day;
11 int year;
12}
13Date::Date(int m,int d,int y)
14{
15 month=m;
17 day=d;
year=y;
}
void Date::print()
{
cout<<month<<'-'<<day<<'-'<<year;
}
int main()
{
Date date1(7,4,2002);
Date date2;

cout<<"date1=";
date1.print();
cout<<"\ndate2=";
date2.print();

date2=date1;

cout<<"\n\nAfter default menverwise assignment,date2=";
date2.print();
cout<<endl;

return 0;
}
------------------配置: mingw2.95 - CUI Debug, 编译器类型: MinGW (Old)--------------------

正在编译 d:\My Documents\C-Free\

#include<iostream>
using std::cout;
using std::endl;
class Date
{
public:
Date(int m,int d,int y); //这不能那么写
void print();
private:
int month;
int day;
int year;
};//分号
Date::Date(int m,int d=1,int y=1990) //怎么都得有一个 要不然没有意义
{
month=m;
day=d;
year=y;
}
void Date::print()
{
cout<<month<<'-'<<day<<'-'<<year;
}
int main()
{
Date date1(7,4,2003);
Date date2(6);

cout<<"date1=";
date1.print();
cout<<"\ndate2=";
date2.print();

date2=date1;

cout<<"\n\nAfter default menverwise assignment,date2=";
date2.print();
cout<<endl;

return 0;
}

Date::Date(int m,int d,int y)把前面的Date::去了