美文网首页
c++原型模式

c++原型模式

作者: 一路向后 | 来源:发表于2021-02-28 20:47 被阅读0次

    1.原型模式简介

       原型模式的核心思想是,通过拷贝指定的“原型实例(对象)”,创建跟该对象一样的新对象。简单理解就是“克隆指定对象”。

    2.源码实现

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    class Resume
    {
    public:
        Resume(string s)
        {
            name = s;
        }
    
        void setPersonalInfo(string s, string a)
        {
            sex = s;
            age = a;
        }
    
        void setWorkExperience(string t, string c)
        {
            timeArea = t;
            company = c;
        }
    
        void display()
        {
            cout << name << " " << sex << " " << age << endl;
            cout << "工作经历: " << timeArea << " " << company << endl;
        }
    
        Resume *clone()
        {
            Resume *b = new Resume(name);
    
            b->setPersonalInfo(sex, age);
            b->setWorkExperience(timeArea, company);
    
            return b;
        }
    
    private:
        string name;
        string sex;
        string age;
        string timeArea;
        string company;
    };
    
    int main(int argc, char **argv)
    {
        Resume *r = new Resume("李俊宏");
    
        r->setPersonalInfo("男", "26");
        r->setWorkExperience("2007-2010", "读研究生");
        r->display();
    
        Resume *r2 = r->clone();
        r2->setWorkExperience("2003-2007", "读本科");
    
        r->display();
        r2->display();
    
        delete r;
        delete r2;
    
        return 0;
    }
    

    3.编译源码

    $ g++ -o example example.cpp
    

    4.运行及其结果

    $ ./example
    李俊宏 男 26
    工作经历: 2007-2010 读研究生
    李俊宏 男 26
    工作经历: 2007-2010 读研究生
    李俊宏 男 26
    工作经历: 2003-2007 读本科
    
    

    相关文章

      网友评论

          本文标题:c++原型模式

          本文链接:https://www.haomeiwen.com/subject/bjjnfltx.html