原型模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。意思就是从A的实例得到一份与A内容相同,但是又互不干扰的实例B。

 class base
{
public :
base(const char *str);
base(base &obj);
virtual ~base();
virtual base *clone()
{
base* b = new base();
*b = *this;
return b;
} private :
char *str;
}; class baseA : public base
{
public :
baseA(const char *str);
baseA(const baseA &a); //拷贝构造
virtual base *clone() //克隆
{
baseA* b = new baseA(); //new一份新的实例
*b = *this; //拷贝实例内容
return b;
}
}; base *b1 = new baseA("A");
base *b2 = b1->clone(); //克隆,b2即是b1的一份内容相同,且互不干扰的实例

最新文章

  1. idea中配置eslint 静态代码检查
  2. spread表格树实现
  3. 华为Mate8 NFC 时好时坏,怎么解决呢?
  4. page show
  5. Windows 服务入门指南
  6. Jmeter使用之常用函数介绍
  7. Java Web容器的启动与处理请求的过程
  8. 关于获得本机Mac Address的方法
  9. ASPF简介
  10. 读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组 -- 基于node的一个函数
  11. ASP.NET MVC 播放远程服务器上的MP3文件
  12. js数据类型的判断方法
  13. 使用Spring Initializr创建项目
  14. 上传第三方jar包至maven私服,以geotools为例
  15. ubuntu 系统查看opencv 的版本
  16. PAT 1066 图像过滤
  17. 【css】zSass - 用 sass 编写 css
  18. textbox 控制输入整数,小数
  19. kaggle之员工离职分析
  20. protobuf新增message报错:类型已存在

热门文章

  1. Assert.notNull(sessionUser);
  2. java并发编程——并发容器
  3. linux 利用cat写入一段文件
  4. JUC——线程同步锁(ReentrantLock)
  5. jQuery中turn.js(翻页效果)学习笔记
  6. 【Shader】这是一篇记录随笔,我要开始学Shader了!
  7. node 集群与稳定
  8. 安装配置php
  9. 对cnblogs.com的用户体验
  10. servlet几个常用的方法