构造函数

C++构造函数详解

1. 默认构造函数

2.  拷贝构造函数/复制构造函数

使用一个已存在的对象对初始化另一个新对象

可以程序员自己定义拷贝构造函数;若没有定义,编译器会自动提供一个默认的拷贝构造函数

构造函数格式:

类名(const 类名& 对象名)

Person(const Person& object)

应用场景:

  • 建立新对象

例如:Person obj1(obj);

         Person obj2 = obj; ??? 

  • 对象作为函数的形参

仅形参是按值传递时才会进行对象拷贝;若是传递引用,不会进行对象拷贝

//按值传递,复制对象
static void TransByValue(CComplex obj)
//传递引用,不复制对象
static void TransByRefence(const CComplex& obj) 
  • 函数返回对象

当函数被调用时,会拷贝对象

3.  转换构造函数  ????

 

4. 对象拷贝与对象复制的区别

对象的赋值是对一个已经存在的对象进行重新赋值,因此必须先定义被赋值的对象,才能进行赋值;

而对象的拷贝是在从无到有建立一个新对象,并使这个新对象和已有对象完全相同;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值