Prototype Pattern

prototype 模式结构图:

实现:

 1 #ifndef _PROTOTYPE_H_
 2 #define _PROTOTYPE_H_
 3 
 4 class Prototype
 5 {
 6 public:
 7     virtual ~Prototype();
 8     virtual Prototype* Clone() const = 0;
 9 
10 protected:
11     Prototype();
12 
13 private:
14 };
15 
16 class ConcretePrototype:public Prototype
17 {
18 public:
19     ConcretePrototype();
20     ConcretePrototype(const ConcretePrototype& cp);
21     ~ConcretePrototype();
22     Prototype* Clone()const;
23 protected:
24 private:
25 };
26 
27 #endif
Prototype.h
 1 #include "Prototype.h"
 2 #include <iostream>
 3 using namespace std;
 4 
 5 Prototype::Prototype()
 6 {
 7 
 8 }
 9 Prototype::~Prototype()
10 {
11 
12 }
13 Prototype* Prototype::Clone()const
14 {
15     return 0;
16 }
17 ConcretePrototype::ConcretePrototype()
18 {
19 
20 };
21 ConcretePrototype::~ConcretePrototype()
22 {
23 
24 }
25 ConcretePrototype::ConcretePrototype(const ConcretePrototype& cp)
26 {
27     cout<<"ConcretePrototype copy..."<<endl;
28 }
29 Prototype* ConcretePrototype::Clone()const
30 {
31     return new ConcretePrototype(*this);
32 }
Prototype.cpp

 

转载于:https://www.cnblogs.com/programmer-wfq/p/4649189.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值