标签:
在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; }
标签:
原文地址:http://www.cnblogs.com/gisair/p/4441594.html