“原型模式”和“虚拟构造函数”是否相同?

时间:2019-05-28 19:51:28

标签: c++ design-patterns prototype-pattern

是否使用虚拟构造函数-实现virtual function clone()

class X {
public:
     virtual X* clone() {
         return new X(*this);
     }
};

与原型设计模式具有相同的概念吗?

1 个答案:

答案 0 :(得分:2)

  

...与原型设计模式的含义相同吗?

不,不是。 可克隆接口只是Prototype Design Pattern实现的一部分。

Prototype 的要点是拥有一个Factory来保存原型实例的实例,并知道使用哪个作为克隆源来创建新实例。