设计模式-创建-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; }