原型模式的C++实现
原型模式的C++实现
原型模式: 根据已有原型构造新对象
实现思路: 利用拷贝构造函数克隆自身
copy#include <iostream> using namespace std; class Prototype { public: Prototype() = default; Prototype(const Prototype&); Prototype* clone(); ~Prototype(); void show(); private: int m_data1; int m_data2; }; int main() { Prototype p1; auto np = p1.clone(); p1.show(); np->show(); delete np; } Prototype::Prototype(const Prototype& p) :m_data1{p.m_data1}, m_data2{p.m_data2} { std::cout << "拷贝成功\n"; } Prototype* Prototype::clone() { return new Prototype(*this); } Prototype::~Prototype() { std::cout << "prototype is died \n"; } void Prototype::show() { std::cout << "m_data1: " << m_data1 << "m_data2: " << m_data2 << std::endl; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步