C++中的类与对象.pptVIP

  • 3
  • 0
  • 约7.55千字
  • 约 41页
  • 2018-06-27 发布于福建
  • 举报
C中的类与对象

//拷贝构造函数实现部分 Person::Person(Person p) { coutcope p.pname to new memory\n; pname=new char[strlen(p.pname)+1]; //同构造函数,分配空间 if(pname!=0) //判断是否分配成功 strcpy(pname,p.pname); //复制字符串 } //析构函数实现部分 Person::~Person() { cout~Person is called: pnameendl;//输出要析构的Person对象的值 pname[0]=\0; //将字符串赋空值 delete pname; //释放pname所在的内存空间 } void main() { Person p1(cs.nju.edu.cn);//用构造函数定义Person对象p1,为其字符串赋值 Person p2(p1); //用拷贝构造函数定义Person对象p2,其字符串与p1相同 } FAQ9 深拷贝与浅拷贝的区别是什么? 浅拷贝就是对默认拷贝构造函数所实现的数据成员逐一赋值,如果类中包含指针类型数据,将会产生错误。为了解决该问题,需要显式定义拷贝构造函数,使其不但可以复制数据成员,而且可以为对象分配内存空间,这就是深拷贝。 class A {…}; A a1; A a2=a1; //

文档评论(0)

1亿VIP精品文档

相关文档