设计模式-创建-ProtoType(原型)模式
目的:根据现有对象为原型创建(深拷贝)一个新对象出来。
先来看看模式图
其实这个就是平时用的深拷贝问题的解决模式,通过一个接口 根据已有的对象为原型,构造一个新对象

class ProtoType
{
public:
virtual Product*Clone() = 0;
};
class Product:public ProtoType
{
public:
string _name = "A";
virtual Product*Clone()override
{
Product*ret = new Product;
ret->_name = this->_name;
return ret;
}
};
int main(int argc, char *argv[])
{
Product* a = new Product;
Product *b = a->Clone();
system("pause");
return 0;
}