阅读量:132
在C++中,要实现对象的克隆功能,一般可以通过重载拷贝构造函数或者赋值操作符来实现。在这两种方法中,一般情况下重载赋值操作符更为常用。
具体实现步骤如下:
- 在类中定义一个public成员函数,命名为clone(),该函数返回一个指向当前对象类型的指针。
- 在clone()函数内部通过new关键字创建一个新的对象,并将当前对象的成员变量值复制到新的对象中。
- 返回新对象的指针。
示例代码如下:
class MyClass {
public:
int data;
MyClass* clone() {
MyClass* newObject = new MyClass;
newObject->data = this->data;
return newObject;
}
};
调用方式如下:
MyClass obj1;
obj1.data = 10;
MyClass* obj2 = obj1.clone();
这样就实现了对象的克隆功能。在实际使用中,要注意释放clone()函数返回的对象的内存,以避免内存泄漏。