这个我一直看不出哪有问题,运行出来的结果不对,希望大家帮我瞅瞅👀

img

img


img


这个是构造复制构造析构的知识👀题目是

设计一个学校在册人员类(Person)。数据成员包括身份证号(IdPerson)、姓名(Name)、性别(Sex)、生日(Birthday)和家庭住址(HomeAddress)。成员函数包括人员信息的录入和输出,还包括构造函数与复制构造函数。设计一个合适的初始值。

第9行:

Person(char name[] = "\0", char id[] = "\0", char sex[] = "\0", char home[] = "\0", int y = 0, int m = 0, int d = 0) 
//Person(char name[] = '\0', char id[] = '\0', char sex[] = '\0', char home[] = '\0', int y = 0, int m = 0, int d = 0)

异常崩溃了啊
char name[] = '\0'改为char name[]= "\0"
char name[] = '\0' 相当于 char *name = NULL,指针都是空的,strcpy就崩了

当你定义新构造函数函数时,系统不会提供一个默认构造函数的。所以创建y对象时,找不到对应的构造函数,应加上一个不带参的构造函数,或者创建y时后面带上一些参数。

在第九行如果想初始化名字的话
char name[]=0;
其他的什么也别加