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();
{
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();
今天中午懒得跑去食堂,就去买盒饭,和龙哥他们一起凑合一顿,你吃的啥?给我也来一份。:-)
突然好想念原来的朋友们,你们还好么?张建、美女、葛利鹏、婵媛。。。你们都还好么?
等待我生命中的乔峰。。。