目录
浅拷贝:
在创建p2对象时,将从p1拷贝其成员变量例如 interger,string和句柄等,这种拷贝方式称为浅拷贝(shallow copy)。
定义拷贝函数:
如果要拷贝对象,指的是首先创建一个新的对象(开辟新的空间),再将目标对象的成员变量拷贝给新对象的成员,使新对象与目标对象的成员变量数值保持一致,即完成了对象的拷贝(成员变量的拷贝)
例如如下的代码:
copy_data函数: 只拷贝变量,把当前的变量def/fin, 传递给t所指的新对象的成员变量,
copy函数:创建一个对象,然后调用copy_data()对里面的成员变量做赋值,最后返回该对象的句柄
拷贝函数总结:
1)将成员拷贝函数copy_data() 和新对象生成函数copy() 分为两个方法,这样使得子类继承和方法复用较为容易。
2)为了保证父类和子类的成员均可以完成拷贝,将拷贝方法声明为虚方法,且遵循只拷贝该类的域成员的原则,父类的成员拷贝应由父类的拷贝方法完成。
3)在实现copy_data() 过程中,应该注意句柄的类型转换,保证转换后的句柄可以访问类成员变量