摘要: 一般的我们喜欢这样对对象赋值:Person p1;Person p2=p1;classTobject(another_object),orAa(b);classTobject=anotherobject;classA{//…};intmain(){Ax;Ay(x);//…Az=x; z=y;}这样的话,如果成员变量中有指针的话,就容易造成指针的二次删除。这样就需要我们显示的在类中实现1、拷贝构造,2、赋值运算符重载。 1)、判断是不是自赋值,2)、释放旧空间,3)、开辟新空间。4)、内容本身的 拷贝,5)、返回*this3、析构函数(释放指针指向的空间)。这三步使类实现深拷贝,从而避免... 阅读全文
posted @ 2013-08-05 20:20 shouqiang Wei 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 在C++中,所谓“继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类(例如“马”)称为“基类(base class )”或“父类(father class )”。新建的类(例如“公马”)称为“派生类(derived class )”或“子类(son class )”。以上介绍的是最简单的情况:一个派生类只从一个基类派生,这称为单继承(single inheritance),这种继承关系所形成的层次是一个树形结构。一个派生类不仅可以从一个基类派生,也可以从多个基类派生。一个派生类有两个或多个基类的称为多重继承(multiple inheritance)。关于基类和派生类的关系,可以表述 阅读全文
posted @ 2013-08-05 12:24 shouqiang Wei 阅读(343) 评论(0) 推荐(0) 编辑