拷贝构造函数的总结

构造函数的分类及调用

  1. 按照参数分类

     1.无参构造(默认构造) 
     2.有参构造
    
  2. 按照类型分类

     1.普通构造函数
     2.拷贝构造函数
    
  3. 无参构造写法和调用

     Person  p1; 注意不能写Person (),因为编译器认为这个是函数声明
    
  4. 有参构造函数写法 和调用

     Person p2(10) 或者Person p2=Person(10)
     Person (10);匿名对象,执行当前行后释放这个对象
    
  5. 拷贝构造函数

     Person (const Person &p)
     Person  p1(p2)或者 Person p1=Person(p2);
     不能用拷贝构造函数初始化匿名对象
     		如果写成Person (p1) 这种写法等价于 Person p1
     		写到右值可以做拷贝构造函数
    
  6. Person p7 = 100; //相当于调用了 Person p7 =Person(100),隐式类型转化
    Person p8 = p7; //相当于Person p8=Person(p7)

  7. 拷贝构造函数调用时机

     1 用已经创建好得对象来初始化新得对象
     2 以值传递得方式给参数传参
     3 以值方式返回局部对象
    
  8. 构造函数的调用规则

     1 如果提供了有参的构造,系统不会提供默认的构造,还是会提供拷贝构造函数
     2 如果提供了拷贝构造函数,系统不会提供其他的构造函数了。
     3.系统默认给一个类提供3个函数 默认构造 ,拷贝构造,析构函数
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值