c++程序错误

来源:百度知道 编辑:UC知道 时间:2024/05/03 03:31:59
# include <iostream.h>
# include <stdio.h>
class date{
int day,month,year;
public:
date(char *d);
date(int m,int d,int y);
void disp_date();
};
date::date(char *d)
{
cout<<"构造函数date(char *)被调用"<<endl;
}
date::date(int m,int d,int y)
{
month=m;day=d;year=y;
cout<<"构造函数date(int,int,int)被调用"<<endl;
}
void date::disp_date()
{
cout<<year<<"年";
cout<<month<<"月";
cout<<day<<"日"<<endl;
}
int main()
{
date ob1(6,18,1999);
date ob2("9/11/2001");
ob1.disp_date();
ob2.disp_date();
return 0;
}
怎样修改构造函数date::date(char *d)
{
cout<<"构造函数date(char *)被调用"<<endl;
}
才能使得date ob2("9/11/2001"); 中的字符串传入到指针里去指行!

date(char *d); //指针参数
.....
不好意思,我看错了,可以用date("9/11/2001"),
因为是char指针,可以传入字符串
date::date(char *d)
{
cout<<"构造函数date(char *)被调用"<<endl;
cout<<"日:"<<*d<<"月:"<<*(d+2)<<*(d+3)<<"年:"
<<*(d+5)<<*(d+6)<<*(d+7)<<*(d+8);
}

ob2.disp_date();
没有数值

date ob2("9/11/2001");
没有相匹配的构造函数