C++复制构造函数与友员

来源:互联网 发布:win8动态桌面软件 编辑:程序博客网 时间:2024/05/21 15:43

 C++  的复制构造函数经常会使用在对象复制的时候。

 使用场所:

                    1 产生副本的时候。如class AAA; AAA a; AAA b(a);

                    2 对象作为参数传递给函数的时候,对象作为返回值返回的时候。

I 格式:

     声明 

                 类名(const 类名& another)

     定义 

                类名::类名(const 类名& another)



II 如果自己不写 系统会有默认复制构造函数。一旦自定义,系统不会再提供。

III  系统提供的默认的复制构造函数 是等位拷贝  浅拷贝。

IV 浅拷贝 会导致内存充析构。会有double free的问题。

V 在类中有堆内存产生的时候,要自己实现深拷贝。


友员

1 同类之间无隐私。

2异类之间有友员。

3 a是b的友员,则通过b的对象去访问b的private成员。

4友员不能继承。

5友员不能传递。


0 0
原创粉丝点击