| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1365 人关注过本帖
标题:拷贝构造函数调用的三中情况
只看楼主 加入收藏
xinshou1991
Rank: 2
等 级:论坛游民
帖 子:35
专家分:45
注 册:2011-7-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
拷贝构造函数调用的三中情况
 在C++中,下面三种对象需要调用拷贝构造函数:   
1) 一个对象以值传递的方式传入函数体;   
2) 一个对象以值传递的方式从函数返回;   
3) 一个对象需要通过另外一个对象进行初始化;
希望高手们能一一举例说明下,例子越细越好啊!跪求啊! 在C++中,下面三种对象需要调用拷贝构造函数:   
1) 一个对象以值传递的方式传入函数体;   
2) 一个对象以值传递的方式从函数返回;   
3) 一个对象需要通过另外一个对象进行初始化;
希望高手们能一一举例说明下,例子越细越好啊!跪求啊!
搜索更多相关主题的帖子: 函数 
2011-08-12 16:11
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:10 
class A;
A a=b;        //1) 一个对象以值传递的方式传入函数体;b是一个A类型的对象   
A a=fun();    //2) 一个对象以值传递的方式从函数返回; 函数原型:A fun(); 返回一个A类型的对象  
A a(b);       //3) 一个对象需要通过另外一个对象进行初始化; 第三个应该是这样吧?

不知道是否符合楼主意思。
2011-08-12 16:40
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:10 
程序代码:
class Test
{
public:
    Test(){ }
    Test(const Test& a){ cout << "copy" <<endl;}
};
Test fun(Test a) //1
{
    Test b(a);//3
    return b;//2
}
int main()
{
    Test a;
    fun(a);
    return 0;
}

迭代的是人,递归的是神。
2011-08-12 17:56
xinshou1991
Rank: 2
等 级:论坛游民
帖 子:35
专家分:45
注 册:2011-7-25
收藏
得分:0 
嗯嗯..........那个啥.....醍醐灌顶啊!2楼和3楼的两位“前辈”谢谢啦
2011-08-13 11:53
快速回复:拷贝构造函数调用的三中情况
数据加载中...
 
   



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

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