zoukankan      html  css  js  c++  java
  • 一.创建型模式 Prototype 模式

    Prototype 提供了自我复制的功能

    • Prototype 模式提供了一个通过已存在对象进行新对象创建的接口(Clone),Clone()实现和具体的实现语言相关,在 C++中我们将通过拷贝构造函数实现之。

    #include"prototype.h"
    #include<iostream>
    using namespace std;
    
    int main()
    {
        prototype *p = new ConcretePrototype();
        prototype *p1 = p->Clone();
        system("pause");
        return 0;
    }
    main
    #pragma once
    #include<iostream>
    using namespace std;
    
    class prototype
    {
    public:
        
        virtual ~prototype();
        virtual prototype* Clone() const = 0;
    
        protected :
        prototype();
    };
    
    class ConcretePrototype:public prototype
    {
    public:
        ConcretePrototype();
        ~ConcretePrototype();
        ConcretePrototype(const ConcretePrototype &cp);
    
        prototype* Clone() const;
    };
    prototype.h
    #include "prototype.h"
    
    
    
    prototype::prototype()
    {
    }
    
    
    prototype::~prototype()
    {
    }
    
    ConcretePrototype::ConcretePrototype()
    {
    }
    
    ConcretePrototype::~ConcretePrototype()
    {
    }
    
    ConcretePrototype::ConcretePrototype(const ConcretePrototype & cp)
    {
        cout << "concretePrototype copy" << endl;
    }
    
    prototype * ConcretePrototype::Clone() const
    {
        return new ConcretePrototype(*this);
    }
    prototype.cpp
  • 相关阅读:
    Flink开发中的问题
    怎么确定一个Flink job的资源
    Flink统计日活
    Flink读取resource资源文件
    Spark-6-如何缓解消除数据倾斜
    Spark-5-如何定位导致数据倾斜的代码
    Spark-4-为何要处理数据倾斜
    集合遍历删除中遇到问题
    1206
    1205
  • 原文地址:https://www.cnblogs.com/jingchu/p/10025329.html
Copyright © 2011-2022 走看看