设计模式学习-----原型模式

来源:互联网 发布:伊朗的土地改革知乎 编辑:程序博客网 时间:2024/04/29 12:48

原型模式

    GOOD:从一个对象再创建另外一个可定制的对象,而无需知道任何创建的细节。并能提高创建的性能。 说白了就COPY技术,把一个对象完整的COPY出一份。

11

转载请注明,文章来自:http://blog.csdn.net/windows_nt

例:

#include<iostream>#include <vector>#include <string>using namespace std;class Prototype //抽象基类 { private:string m_strName;public: Prototype(string strName) { m_strName = strName; }Prototype() { m_strName = "我的名字叫刘彦敏,你呢?"; }void Show() {cout<<m_strName<<endl;}virtual Prototype* Clone() = 0 ; } ; // class ConcretePrototype1 class ConcretePrototype1 : public Prototype { public: ConcretePrototype1(string strName) : Prototype(strName){}ConcretePrototype1(){}virtual Prototype* Clone() { ConcretePrototype1 *p = new ConcretePrototype1() ; *p = *this ; //复制对象 return p ; } } ; // class ConcretePrototype2 class ConcretePrototype2 : public Prototype { public: ConcretePrototype2(string strName) : Prototype(strName){}ConcretePrototype2(){}virtual Prototype* Clone() { ConcretePrototype2 *p = new ConcretePrototype2() ; *p = *this ; //复制对象 return p ; } } ; //客户端int main(){ConcretePrototype1* test = new ConcretePrototype1("刘彦敏");ConcretePrototype2* test2 = (ConcretePrototype2*)test->Clone();test->Show();test2->Show();return 0;}
原创粉丝点击