(十三)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博客

相关推荐
charlie1145141911 分钟前
嵌入式C++开发第17篇:C++23特性收尾 —— 属性、链接与零开销抽象的最终证明
开发语言·c++·stm32·学习·c++23
geovindu4 分钟前
go: Singleton Pattern
单例模式·设计模式·golang
小成2023032026510 分钟前
数据结构(整理常见结构总结到树层级)
java·c语言·数据结构·c++·链表
ximu_polaris11 分钟前
设计模式(C++)-结构型模式-外观模式
c++·设计模式·外观模式
Xiu Yan19 分钟前
Java 转 C++ 系列:STL常用函数
java·开发语言·c++·stl·visual studio
不知名的老吴23 分钟前
思考:设计模式对前端有用吗?
设计模式·状态模式
沫璃染墨27 分钟前
C++ std::list 深度解析:迭代器、splice 核心接口与排序效率全解
开发语言·c++
艾莉丝努力练剑27 分钟前
【Linux网络】计算机网络入门:从背景到协议,理解网络通信基础
linux·运维·服务器·c++·学习·计算机网络
艾莉丝努力练剑27 分钟前
【Linux线程】Linux系统多线程(十):线程安全和重入、死锁相关话题
java·linux·运维·服务器·c++·学习·安全
没有天赋那就反复29 分钟前
C++里面引用参数和实参的区别
开发语言·c++·算法