| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 370 人关注过本帖
标题:如何理解拷贝构造函数?
只看楼主 加入收藏
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
快速回复:如何理解拷贝构造函数?
数据加载中...
 
   



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

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