标题:如何理解拷贝构造函数?
只看楼主
qwerwqily
该用户已被删除
已结贴  问题点数:20 回复次数:5 
如何理解拷贝构造函数?
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: 如何 
2011-06-21 17:12
追风十三少
Rank: 2
等 级:论坛游民
帖 子:17
专家分:42
注 册:2011-6-14
得分:10 
拷贝构造函数在三种情况下会被调用 1.用已有对象初始化新对象,2.函数的返回值为一个对象时,3.当数据成员为一个对象是会被调用,
具体的说拷贝构造函数就是用来初始化的。
2011-06-21 17:29
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:10 
构造函数都是用来初始化的。

拷贝构造函数从语法上就可以看出来,用一个类实例来初始化它本身的就是拷贝构造函数。
一般会定义成下面这个样子:
class_name(const class_name &)

这个概念本身不难。另外就是要体会,在什么情况下它会被调用到,什么时候拷贝构造函数是必要的,之类的问题。
后一个问题主要是深拷贝和浅拷贝的问题。
2011-06-21 18:01
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
得分:0 
哎呀,懂了

Sharp your mind!
2011-06-22 11:07
qwerwqily
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2011-06-24 22:30
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:0 
回复 5楼 qwerwqily
A a;
A b = a;
或者
A b(a)
就是最简单的情况。

另外,如果声明函数
return_type function (A a);
然后代码里
A obj;
function(obj)
要用 obj 初始化函数参数。应该也属于第一种情况。
2011-06-25 00:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-343564-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.488233 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved