首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

哪位知道原型模式的应用场景吗?感觉用继承类就可以解决它所遇到的有关问题了

2012-02-11 
哪位知道原型模式的应用场景吗?感觉用继承类就可以解决它所遇到的问题了如题,请指教,谢谢~~[解决办法]有一

哪位知道原型模式的应用场景吗?感觉用继承类就可以解决它所遇到的问题了
如题,请指教,谢谢~~

[解决办法]
有一个基类B以及一系列派生类D1,D2……
现在有一个基类指针pB,指向任意派生类对象。现在需要把pB指针复制一份,让pB2指向另一个派生类对象,该对象的类型与pB所指向的对象类型相同。
pB --------------------> D1对象(或者D2对象)
复制
pB2--------------------> D1对象(或者D2对象)

总的来说,所谓prototype模式,就是实现继承体系下的copy。
[解决办法]

C/C++ code
class Base;class D1 : public Base;class D2 : public Base;Base *pB = new D?; // 我们不知道pB到底指向那个派生类对象Base *pB2 = pB->clone(); // clone()返回一个新对象。如果pB指向D1,那么pB2就指向新创建的D1对象;如果pB指向D2,那么pB2就指向新创建的D2对象。
[解决办法]
请参阅博文 http://blog.csdn.net/bfzhao/archive/2010/08/09/5798608.aspx

热点排行