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
  • 相关阅读:
    Java内存区域
    spring学习之Bean
    记一次日本公司的Java面试
    java中打印输出数组内容的三种方式
    Java创建子类时构造器执行顺序
    转发&重定向
    Java继承
    GXOI&GZOI
    LCT能干啥???
    后缀自动机的一些应用
  • 原文地址:https://www.cnblogs.com/jingchu/p/10025329.html
Copyright © 2011-2022 走看看