码迷,mamicode.com
首页 > 编程语言 > 详细

C++中实现对象的clone()

时间:2015-04-20 16:16:44      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

在C#中,许多对象自动实现了clone函数,在C++中,要拷贝一个对象,除了自定义一个拷贝构造函数来实现对象复制外,还可以像C#中那样实现一个clone函数,这需要借助编译器实现的一个隐藏拷贝构造函数,这样的做法,更省心。

#include "stdafx.h"
#include <iostream>

class CA
{
public:
    int value;
    CA* clone() const { return new CA( *this );}
    //仅一个构造函数
    CA(int a ){value=a;}   
};

int _tmain(int argc, _TCHAR* argv[])
{
    CA* objA=new CA(10);
    CA* objtemp=objA->clone();
    delete objA;
    std::cout<<objtemp->value;
    delete objtemp;
    return 0;
}

 

C++中实现对象的clone()

标签:

原文地址:http://www.cnblogs.com/gisair/p/4441594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!