现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

代码版设计模式4:原型模式【创建型】

2013-02-21 12:05 工业·编程 ⁄ 共 772字 ⁄ 字号 暂无评论

#include <iostream>
using namespace std;

//
class CResume
{
public:
    CResume(const char* pName)
    {
        if(NULL == pName)
        {
            m_pName = new char[1];
            m_pName[0] = '\0';
        }
        else
        {
            m_pName = new char[strlen(pName)+1];
            strcpy(m_pName,pName);
        }
    }

    CResume(const CResume &r)
    {
        m_pName = new char[strlen(r.m_pName)+1];
        strcpy(m_pName,r.m_pName);
    }

    ~CResume()
    {
        if(m_pName)
        {
            delete []m_pName;
            m_pName = NULL;
        }
    }

    CResume* Clone() { return new CResume(*this); }

    void Show() { cout<<"Resume Name:"<<m_pName<<endl; }

private:
    char *m_pName;
};

//
void main()
{
    CResume *pResume  = new CResume("A");
    pResume->Show();

    CResume *pA = pResume->Clone();
    delete pResume;

    pA->Show();
    delete pA;
}

给我留言

留言无头像?