设计模式-原型模式
程序员文章站
2022-06-12 20:23:25
...
运用场景:
需要实现将一个类复制给另一个类,并利用其功能;
代码实现:
#include<iostream>
using namespace std;
class Prototype
{
public:
virtual Prototype* clone() = 0;
};
class ConcreteClass :public Prototype
{
public:
virtual Prototype* clone()
{
ConcreteClass* temp = new ConcreteClass;
*temp = *this; //此处涉及到深复制问题,若该类涉及到指针问题注意构造深度复,防止访问野指针
return temp;
}
};
int main()
{
Prototype* p = nullptr;
ConcreteClass* c = new ConcreteClass;
p = c->clone();
return system("pause");
}
上一篇: 成长型公司如何构建存储架构
下一篇: 设计模式-原型模式