说构造函数没有返回值类型,但是构造函数有返回值吗?

 我来答
梦想的影子go
2015-06-27 · 超过11用户采纳过TA的回答
知道答主
回答量:19
采纳率:0%
帮助的人:19.6万
展开全部
构造函数没有返回值,因为其默认是返回给this自己的。如果定义了是变量,通过this指针初始化变量属性的值,如果定义指针形式,通过new 调用构造函数生成一个存放属性值得内存指针赋给指针变量。
125516639
2018-07-14 · TA获得超过452个赞
知道小有建树答主
回答量:184
采纳率:50%
帮助的人:133万
展开全部

就class A{};来说,

  1. “通过new 调用构造函数”A* pa=new A;,返回值是“operator new”的返回值void*,可以隐式转换类型

  2. A a=A();返回的是A()构造的临时对象右值const A&

  3. 当然,直接调用A::A()是非法的,不存在显式调用,自然没有“返回值”的概念,如果有,我觉得那应当是*this(即A&)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式