C++主题——Prototype原型模式

本文通过生动的例子介绍了C++中的Prototype原型模式,并给出了具体的代码实现。该模式允许一个对象克隆自身来创建新的实例,避免了复杂的初始化过程。

C++主题——Prototype原型模式

        记得段誉初识乔峰时,在酒家里对店小二说,给我来和他一样的饭菜。于是结识了这样一个惊天动地的英雄。我们在现实生活中经常会遇到拿不定主意的情况,也经常会说,“给我来和他一样的。。。”

        在用C++进行编程的时候,其实也经常遇见这样的情况,细想一下这应该是拷贝构造函数的类似功能,但是又不是拷贝构造函数所能做到的, 因为他是他,我是我,这个一样的。。。适合他,因为那是他的对象,而不是我自己的,但是,我们至少可以用他的对象构造出我们自己的对象。一种类似拷贝构造函数的思考方式,一种构造函数的结果,总之不必多想,也不必担心如果他加了什么东西,你会不知道,不用写老长一串switch-case语句判断,不会被别人笑笨拙,呵呵,何乐而不为?       

class Meal
{
public:
      
virtual ~Meal();
      
virtual Meal* clone() = 0;
}

class WineANDMeat : public Meal
{
public:
       WineANDMeat (
const WineANDMeat & );
       WineANDMeat 
* clone()
       {
              
return new WineANDMeat (*this);
       }
}

Meal 
* qiaofengMeal = CallMeal();
Meal 
* duanyuMeal = qiaofengMeal->clone();

        今天中午懒得跑去食堂,就去买盒饭,和龙哥他们一起凑合一顿,你吃的啥?给我也来一份。:-)

        突然好想念原来的朋友们,你们还好么?张建、美女、葛利鹏、婵媛。。。你们都还好么?

        等待我生命中的乔峰。。。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值