拷贝构造函数

2019-10-08  本文已影响0人  Marshmello_5d29

由普通数值,作参数完成构造,constructor

由同类对象,作参数完成构造,copy constructor

语法定义

class 类名 {

类名(const 类名 & another)

拷贝构造体

}

class A {

    A(const A & another)

{} }

构造特性:

copy constructor 规则

1 系统提供默认的拷贝构造器。一经实现,不复存在。

2 系统提供的是等位拷贝,也就是所谓的浅浅的拷贝。

 3 要实现深拷贝,必须要自定义。

4 发生时机:制作对象的副本,以对象作为参数和返回值。

深拷贝和浅拷贝:

系统提供默认的拷贝构造器,一经定义不再提供。但系统提供的默认拷贝构造器是 等位拷贝,也就是通常意义上的浅拷贝。如果类中包含的数据元素全部在栈上,浅拷贝 也可以满足需求的。但如果堆上的数据,则会发生多次析构行为。

同类对象方法中进行传参,可以访问其私有成员,其他则不可 

上一篇 下一篇

猜你喜欢

热点阅读