您的位置:首页 > 编程语言 > C语言/C++

C++对象的克隆

2013-10-02 00:08 225 查看
          在项目中,不少地方有对象克隆,下面写个简单程序来熟悉一下对象克隆:

#include <iostream>
using namespace std;

class A
{
public:
int x;
int y;

A():x(0), y(0){}
A(int s, int t):x(s), y(t){}

A* clone()
{
A *p = new A;
p->x = this->x;
p->y = this->y;

return p;
}
};

int main()
{
A *q = new A(1, 2);
A *p = q->clone();

A a(3, 4);
A b(a);

delete q;
delete p;

return 0;
}

         对象克隆:两个对象实体相等(别用相同这个词),但是所在的存储空间不同。在上例中,p和q的值是不同的,但p和q指向的对象实体相等。&a和&b不同,但是a,b两个对象实体相等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: