在c++中,我定义个一个返回值为一个类的对象的函数,在主函数中写了这样的代码:student a

在c++中,我定义个一个返回值为一个类的对象的函数,在主函数中写了这样的代码:studenta=fun(b);其中student为类名,b为其中一个类,fun为返回一个s... 在c++中,我定义个一个返回值为一个类的对象的函数,在主函数中写了这样的代码:student a=fun(b);其中student为类名,b为其中一个类,fun为返回一个student类的对象,求大神解释一下为什么在比语句中不执行拷贝构造函数,而在student a=b;中却执行拷贝构造函数。求大神! 展开
 我来答
CodeBlove
2014-04-01 · TA获得超过3364个赞
知道小有建树答主
回答量:936
采纳率:79%
帮助的人:250万
展开全部
a=b你确认是调用的拷贝构造函数?
构造函数是在创建对象时调用的,带参的拷贝构造函数是用来初始化对象的,一般都是用来做深拷贝。系统创建临时对象进行的值复制是浅拷贝,调用的是默认赋值操作符重载函数。
更多追问追答
追问
那个fun函数返回的是一个对象
为什么用函数的返回值来初始化时不调用拷贝构造函数
LYB661
2014-03-28 · TA获得超过314个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:76.1万
展开全部
代码什么样?拷贝构造函数也可以隐式调用,你怎么确定。按理说,函数参数或返回的是类对象,一般应该调用复制构造函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式