标题:拷贝构造函数调用的三中情况
只看楼主
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
帖 子:605
专家分:2489
注 册: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



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




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

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