(十三)Head first design patterns原型模式(c++)

原型模式

原型模式就是就是对对象的克隆。有一些私有变量外界难以访问,而原型模式可以做到对原型一比一的复刻。

其关键代码为下面的clone方法。此方法将本对象进行复制传递出去。

cpp 复制代码
class ConcretePrototype1 : public Prototype{
public:
    ConcretePrototype1(string prototype_name, float concrete_prototype_field):Prototype(prototype_name), concrete_prototype_field1(concrete_prototype_field){}
    Prototype* Clone() { return new ConcretePrototype1(*this); }
    void printFeild(){ std::cout << "FEILD:\t" << concrete_prototype_field1 << std::endl; }
private:
    float concrete_prototype_field1;
};

参考

C++设计模式(10)------原型模式_c++原型模式-CSDN博客

相关推荐
山栀shanzhi7 分钟前
C/C++之:构造函数为什么不能设置为虚函数?
开发语言·c++·面试
谭欣辰14 分钟前
C++ 版Dijkstra 算法详解
c++·算法·图论
qeen8744 分钟前
【算法笔记】双指针及其经典例题解析
c++·笔记·算法·双指针
Lands2 小时前
推荐一下配合agent开发的工具
设计模式·agent
王老师青少年编程3 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【区间贪心】:雷达安装
c++·算法·贪心·csp·信奥赛·区间贪心·雷达安装
elseif1233 小时前
分组背包1
c++·学习·算法
Rabitebla3 小时前
【数据结构】动态顺序表实现详解:从原理到接口设计(面试视角)
c语言·开发语言·数据结构·c++·面试·职场和发展
小明同学013 小时前
[C++入门]万字长文梳理 C++11 核心特性
c++
郝学胜-神的一滴3 小时前
Linux 高并发基石:epoll 核心原理 + LT/ET 触发模式深度剖析
linux·运维·服务器·开发语言·c++·网络协议
Hello!!!!!!3 小时前
C++基础(六)——数组与字符串
c++·算法