设计模式-Prototype(通过复制构造函数实现自我复制)-(创建型模式)
2024-09-02 07:27:50
以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码
//Prototype.h
#pragma once
class Prototype {
public:
virtual ~Prototype();
virtual Prototype* clone() const = ;
protected:
Prototype();
private:
}; class concreatePrototype :public Prototype {
public:
concreatePrototype();
~concreatePrototype();
concreatePrototype(const concreatePrototype& cp);
Prototype* clone()const;
private:
protected: };
//Prototype.cpp
#include"Prototype.h"
#include<iostream>
#include<string>
Prototype::Prototype(){}
Prototype::~Prototype(){}
Prototype* Prototype::clone()const {
return ;
}
concreatePrototype::concreatePrototype(){}
concreatePrototype::~concreatePrototype(){}
concreatePrototype::concreatePrototype(const concreatePrototype& cp) {
std::cout << "ConcreatePrototype Copy." << std::endl;
}
Prototype* concreatePrototype::clone()const
{ return (new concreatePrototype(*this));
}
//main.cpp
#include"Prototype.h" int main(int args, char* argv)
{
Prototype* p = new concreatePrototype();
Prototype* p_clone = p->clone();
return ;
}
最新文章
- java泛型详解
- [WPF系列-高级TemplateBinding vs RelativeSource TemplatedParent]
- jQuery的常用函数扩展
- SQL 2008 数据库只读 修改
- DSP - Bootloader学习笔记2
- [Unity3D]调用Android接口
- 【Android】源码external/目录中在编译过程中生成的文件列表
- mfc模态对话框
- JAVA反射机制示例,读取excel数据映射到JAVA对象中
- php5.3.*编译出现make: *** [ext/gd/libgd/gd_compat.lo] Error 1 解决方法
- PeopleSoft通过status汇总进程运行情况
- [EXP]Apache Superset <; 0.23 - Remote Code Execution
- P1356 数列的整数性
- ini文件读写
- Windows 防火墙出站 入站规则简单说明
- 雷林鹏分享:Ruby 语法
- Dalvik虚拟机java方法执行流程和Method结构体分析
- 搭建高可用mysql系列(2)-- Percona XtraDB Cluster 安装
- 2018-2019-20172321 《Java软件结构与数据结构》第八周学习总结
- linux c makefile