c++ 类的构造函数

CMyArray array1;
CMyArray array2(10,20);
CMyArray array3(array2);  //
CMyArray array4;
array4 = array2;

CMyArray array5=array2;

 CMyArray 是自己的定义的一个类;

 CMyArray array3(array2);  调用 拷贝构造函数。

CMyArray array5=array2; 调用 拷贝构造函数(隐式调用)。如果在拷贝构造函数前 加 explicit 关键字。这条语句不能执行。

 array3 = array2; 调用 operator= 函数(赋值函数)。operator= 必须是成员函数。

 

区别赋值函数和拷贝构造函数:

赋值函数是 用已经存在的对象赋值给已经存在的对象。

拷贝构造函数是 用已知的对象初始化定义中的对象。即该对象之前不存在。

 

拷贝函数分为深拷贝和浅拷贝:

浅拷贝 是 内存的拷贝。即如果有需要手动释放内存的话,则是指向同一区域。

深拷贝 是  内容的拷贝。即如果有需要手动释放内存的话,则是指向不同区域。

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值