目录
题目
【带默认参数的构造函数】上机运行如下程序有错误,现要得到如下输出结果,请修改程序。(注意:请保持程序中的蓝色一行不动。)
要得到的输出结果如下:
10/13/2005
12/13/2005
10/1/2005
1/1/2005
#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()
{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;
}
源码
程序源代码(修改后的程序)
#include <iostream>
using namespace std;
class Date
{
public:
Date(int = 1, int = 1, int = 2005); // 修改程序时,保留本行不动!!!
void display();
private:
int month;
int day;
int year;
};
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;
}