以下代码来源: 设计模式精解-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 ;
}

最新文章

  1. java泛型详解
  2. [WPF系列-高级TemplateBinding vs RelativeSource TemplatedParent]
  3. jQuery的常用函数扩展
  4. SQL 2008 数据库只读 修改
  5. DSP - Bootloader学习笔记2
  6. [Unity3D]调用Android接口
  7. 【Android】源码external/目录中在编译过程中生成的文件列表
  8. mfc模态对话框
  9. JAVA反射机制示例,读取excel数据映射到JAVA对象中
  10. php5.3.*编译出现make: *** [ext/gd/libgd/gd_compat.lo] Error 1 解决方法
  11. PeopleSoft通过status汇总进程运行情况
  12. [EXP]Apache Superset &lt; 0.23 - Remote Code Execution
  13. P1356 数列的整数性
  14. ini文件读写
  15. Windows 防火墙出站 入站规则简单说明
  16. 雷林鹏分享:Ruby 语法
  17. Dalvik虚拟机java方法执行流程和Method结构体分析
  18. 搭建高可用mysql系列(2)-- Percona XtraDB Cluster 安装
  19. 2018-2019-20172321 《Java软件结构与数据结构》第八周学习总结
  20. linux c makefile

热门文章

  1. 06. Go 语言结构体
  2. echars line 底部图例强制不换行(滚动),修改图例样式
  3. 详解扩展欧几里得算法(扩展GCD)
  4. linux常用命令指南——查找文件我最强:find
  5. nacos+springboot的多环境使用方法
  6. 抓包工具之fiddler实战2-设置断点
  7. SpringBoot2使用Jetty容器(替换默认Tomcat)
  8. ASP.NET MVC IOC依赖注入之Autofac系列开篇
  9. java主函数
  10. Redis缓存系列