是那里出错了?为什么换成预分配空间就能正常呢?请帮忙看看,谢谢!
#include <string.h>
class student
{private:
char *name,*sex;
int age;
public:
student(char *n,char *s,int a)
{name=new char(strlen(n)+1);
strcpy(name,n);
sex=new char(strlen(s)+1);
strcpy(sex,s);
age=a;
}
student() {}
char *get_name() {return name;}
char *get_sex() {return sex;}
int get_age() {return age;}
};
main()
{student X[2];
student A1("lihongsfs","boysafsfsd",21),A2("xiaomingsdfs","girlsadfsf",20);
X[0]=A1;X[1]=A2;
for(int i=0;i<2;i++)
{cout<<X[i].get_name()<<" "<<X[i].get_sex()<<" "<<X[i].get_age();cout<<endl;}
cout<<endl;
}

