c++ - "Prototype pattern"和 "Virtual constructor"是相同的模式吗?

标签 c++ design-patterns prototype-pattern

虚拟构造函数 - 实现虚拟函数clone():

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

与原型(prototype)设计模式的概念相同吗?

最佳答案

... mean the same concept as the Prototype design pattern?

不,事实并非如此。 可克隆接口(interface)只是 Prototype Design Pattern 实现的一部分.

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

关于c++ - "Prototype pattern"和 "Virtual constructor"是相同的模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56349195/

相关文章:

c++ - 这是我在 XCode 中将 boost/filesystem 加入我的 C++ 程序的最后一次尝试

javascript - try/catch 中的异步/等待在等待解决后未显示处理逻辑中的错误

language-agnostic - 在程序中替换或替换 if..else if..else 树的最佳方法是什么?

java - 在java接口(interface)声明中使用模板参数

java - 原型(prototype)设计模式Java实现困惑

c++ - 堆调试 : Assert failure in dbgdel in MS VC++ 2005

C++ stdin 偶尔会出现乱码

c++ - 如何找到集合的交集

ruby-on-rails - Rails 3.2 JS-heavy 应用程序的设计模式

Java 'Prototype' 模式 - new vs clone vs class.newInstance