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

相关推荐
驴儿响叮当20103 分钟前
设计模式之状态模式
设计模式·状态模式
mingren_131411 分钟前
SDL3配置及基本使用(完整demo)
开发语言·c++·音视频
sycmancia13 分钟前
C++——完善的复数类
开发语言·c++
电子科技圈17 分钟前
XMOS推动智能音频等媒体处理技术从嵌入式系统转向全新边缘计算
人工智能·mcu·物联网·设计模式·音视频·边缘计算·iot
charlie11451419118 分钟前
嵌入式C++教程——Lambda捕获与性能影响
开发语言·c++·笔记·嵌入式·现代c++·工程实践
weiabc21 分钟前
cout << fixed << setprecision(2) << v; fixed 为什么不用括号,它是函数吗
开发语言·c++·算法
楼田莉子25 分钟前
C++高精度时间库——<chrono>
开发语言·c++·后端·学习·visual studio
徐先生 @_@|||11 小时前
安装依赖三方exe/msi的软件设计模式
设计模式
雾岛听蓝11 小时前
C++11新特性(lambda、包装器)
c++·经验分享·笔记
散峰而望12 小时前
C++ 启程:从历史到实战,揭开命名空间的神秘面纱
c语言·开发语言·数据结构·c++·算法·github·visual studio