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

相关推荐
超爱笑嘻嘻18 分钟前
shared_ptr八股收集 C++
c++
我想进大厂37 分钟前
图论---朴素Prim(稠密图)
数据结构·c++·算法·图论
我想进大厂42 分钟前
图论---Bellman-Ford算法
数据结构·c++·算法·图论
光而不耀@lgy1 小时前
C++初登门槛
linux·开发语言·网络·c++·后端
啊丢_1 小时前
C++——Lambda表达式
开发语言·c++
Wendy_robot2 小时前
【滑动窗口+哈希表/数组记录】Leetcode 438. 找到字符串中所有字母异位词
c++·算法·leetcode
转基因3 小时前
Codeforces Round 1020 (Div. 3)(题解ABCDEF)
数据结构·c++·算法
whoarethenext3 小时前
c++的jsoncpp使用
开发语言·c++·jsoncpp
我想进大厂4 小时前
图论---Kruskal(稀疏图)
数据结构·c++·算法·图论
_w_z_j_4 小时前
C++----模拟实现string
开发语言·c++