原型模式

主要是为了进行复制自身

拷贝分为浅拷贝和深拷贝,后者将会连带指针指向的内容一并拷贝。

C++中通过拷贝构造函数实现。

UML类图

C++代码:

class Prototype

{

public:

virtual Prototype* clone() const= 0;

virtual ~Prototype(){}

};


class ConcretePrototype : public Prototype

{

public:

ConcretePrototype(){}

ConcretePrototype(const ConcretePrototype& cp)

{

cout<<"一些具体的复制过程"<<endl;

}

virtual Prototype* clone() const

{

return new ConcretePrototype(*this);

}

};


int _tmain(int argc, _TCHAR* argv[])

{


Prototype* p = new ConcretePrototype;

Prototype* p1 = p->clone();


system("pause");

return 0;

}


 

代码很简单,就是简单的自身复制。下章将复习结构型的模式了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值