在c++类中的浅拷贝和深拷贝:
浅拷贝就是将拷贝对象的地址传递过去,一旦原对象被析构,那么新拷贝的对象指针将成为野指针而报错,所以浅拷贝一般少用
今天做的题中的浅拷贝:
Student::Student(const Student &e)
{
x1=e.x1;
或者:this.x1=e.x1;
}
深拷贝:
Student::Student(const Student &e)
{
char*p=new char〔strlen(e.p)+1)〕;
memcpy(p,e.p,sizeof(e.p));
或者:this->p=new char(*e.p);
strcpy(p,e.p);
}
主函数中的对象引用的传递:
Student a(x1);
Student b=a;
或者:Student b(a);