c++类的多个构造函数

来源:百度知道 编辑:UC知道 时间:2024/06/15 07:47:48
#include<iostream>
using namespace std;
class date
{
int day,month,year;
public:
date(char *str);
date(int m,int d,int y);
date::date();
void show();
};
date::date(char *str)
{
scanf(str,"%d%*c%d%*c%d",&month,&day,&year);
}
date::date(int m,int d,int y)
{
day=d;
month=m;
year=y;
}
date::date()
{
cout<<"Enter month_day_year:";
cin>>day;
cin>>month;
cin>>year;
}
void date::show()
{
cout<<month<<'/'<<day<<'/';
cout<<year<<'\n';
}
main()
{
//构造函数的参数为字符串类型
date sdate("11/1/1999");
//构造函数的参数为三个整数
date idate(12,2,1998);
//构造函数没有参数,数据通过键盘直接输入
date indate;
sdate.show();
idate.show();
indate.show();

#include<iostream>
using namespace std;
class date
{
int day,month,year;
public:
date(char *str);
date(int m,int d,int y);
date();
void show();
};
date::date(char *str)
{
scanf(str,"%d%*c%d%*c%d",&month,&day,&year); //此处有错误,month,day,year没有被赋值。
}
date::date(int m,int d,int y)
{
day=d;
month=m;
year=y;
}
date::date()
{
cout<<"Enter month_day_year:";
cin>>day;
cin>>month;
cin>>year;
}
void date::show()
{
cout<<month<<'/'<<day<<'/';
cout<<year<<'\n';
}
int main()
{
//构造函数的参数为字符串类型
date sdate("11/1/1999");
//构造函数的参数为三个整数
date idate(12,2,1998);
//构造函数没有参数,数据通过键盘直接输入
date indate;
sdate.show();
idate.show();
inda