知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
設(shè)計模式----原形模式
發(fā)表時間:2020-10-18
發(fā)布人:葵宇科技
瀏覽次數(shù):45
原形模式類似于拷貝構(gòu)造函數(shù),提供一種可以直接拷貝原對象的方法,這種方法比較簡單,就不畫類圖了,直接看一下對應(yīng)代碼:
#include <iostream>
#include <string>
using namespace std;
class Person {
public:
virtual Person *Clone() = 0;
virtual void Print() = 0;
};
class CppProgramer : public Person {
public:
CppProgramer() : m_Name(""), m_Age(0), m_pAddress(NULL) {}
CppProgramer(string name, int age, const char *pszAddr) : m_Name(name), m_Age(age), m_pAddress(new char[strlen(pszAddr)]) {
}
void Print() {
cout << "C++程序員的姓名: " << m_Name << "年齡: " << m_Age << endl;
}
Person *Clone() {
CppProgramer* tmp = new CppProgramer;
tmp->m_Name = this->m_Name;
tmp->m_Age = this->m_Age;
int iLen = strlen(m_pAddress) + 1;
tmp->m_pAddress = new char[iLen];
strcpy(tmp->m_pAddress, this->m_pAddress);
return(tmp);
}
~CppProgramer() {
if (m_pAddress) {
delete[] m_pAddress;
m_pAddress = NULL;
}
}
private:
string m_Name;
char* m_pAddress;
int m_Age;
};
int main() {
const char* pszAddr = "中山路";
CppProgramer cpp("YangMing", 15, pszAddr);
Person* p = cpp.Clone();
p->Print();
system("pause");
return(0);
}
(完)
相關(guān)案例查看更多
相關(guān)閱讀
- 網(wǎng)站建設(shè)首選
- 云南小程序開發(fā)公司推薦
- 報廢車拆解系統(tǒng)
- 昆明做網(wǎng)站
- 微信小程序開發(fā)入門課程
- 百度人工排名
- 網(wǎng)站建設(shè)列表網(wǎng)
- 網(wǎng)站收錄
- 網(wǎng)絡(luò)公司
- 昆明做網(wǎng)站建設(shè)的公司排名
- 小程序用戶登錄
- 楚雄小程序開發(fā)
- 云南小程序開發(fā)費用
- 云南電商網(wǎng)站建設(shè)
- 公眾號模板消息
- 重慶網(wǎng)站建設(shè)公司
- 國內(nèi)知名網(wǎng)站建設(shè)公司排名
- 網(wǎng)絡(luò)公司報價
- 報廢車管理系統(tǒng)
- 云南網(wǎng)站維護(hù)
- 人人商城
- 小程序被騙退款成功
- 智慧農(nóng)貿(mào)市場
- 云南網(wǎng)站設(shè)計
- 報廢車拆解回收管理系統(tǒng)
- 保險網(wǎng)站建設(shè)公司
- web前端
- 云南網(wǎng)站建設(shè)公司地址
- 曲靖小程序開發(fā)
- 網(wǎng)站建設(shè)高手