【c++手记】Copy Constructor

【资料】
     《primer》P407 复制构造函数
 
【内容】
    1.  一种特殊构造函数。特征:单个形参(常用const修饰),是对该类类型的引用。
         当定义一个新对象,并用一个同类型的对象,对它进行初始化时。将显示使用复制构造函数。当将该类型的对象传递给函数或从函数返回该类型的对象时,将隐式使用复制构造函数。
 
    2.复制构造函数作用
          1.根据另一个同类型的对象显示或隐式初始化一个对象。(详细请参照《Primer》P406“对象定义形式”)
          2.复制一个对象,将它作为实参传给一个函数(函数的形参为类类型时),复制实参的值。(《Primer》P407倒数第6行
          3.函数返回时复制一个对象(返回值为类类型时),返回retun语句的值得副本(《Primer》P407倒数第5行)
          4.初始化顺序容器的元素。
          5.根据元素初始化式列表初始化数组元素。
     
     默认复制构造函数只完成必要的工作,只包含类类型成员或内置类型(非指针类型)成员的类。
     
    3.自定义复制构造函数目的:(大多数类应自定义复制构造函数与默认构造函数)
          1.类中有数据成员为指针,或者有成员表示在构造函数中分配的其他资源
          2.类在创建新对象时必须做一些特点工作
 
    深拷贝浅拷贝相关资料请查看笔记《Design Pattern》Prototype一节)
     
    4.禁止复制
           防止复制,类必须显示声明其复制构造函数为Private!

转载于:https://www.cnblogs.com/jstone/archive/2012/08/28/2660128.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值