C++模式学习------原型模式

本文详细介绍了原型模式的概念及其在C++中的实现方式。通过具体的代码示例展示了如何使用原型模式来创建对象,包括基本的拷贝构造函数和克隆方法的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原型模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。意思就是从A的实例得到一份与A内容相同,但是又互不干扰的实例B。

 1 class base
 2 {
 3 public :
 4   base(const char *str);
 5   base(base &obj);
 6   virtual  ~base();
 7   virtual base *clone()
 8   {
 9       base* b = new base();
10       *b = *this;
11       return b;
12   }
13 
14 private :
15   char *str;
16 };
17 
18 class baseA : public base
19 {
20   public :
21   baseA(const char *str);
22   baseA(const baseA &a); //拷贝构造
23   virtual base *clone() //克隆
24   {
25       baseA* b = new baseA(); //new一份新的实例
26       *b = *this; //拷贝实例内容
27       return b;
28   }
29 };
30 
31 base *b1 = new baseA("A");
32 base *b2 = b1->clone();   //克隆,b2即是b1的一份内容相同,且互不干扰的实例

 

转载于:https://www.cnblogs.com/tyche116/p/8675191.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值