发布网友 发布时间:2022-05-06 16:21
共2个回答
热心网友 时间:2023-07-06 19:40
构造函数没有返回值,因为其默认是返回给this自己的。如果定义了是变量,通过this指针初始化变量属性的值,如果定义指针形式,通过new 调用构造函数生成一个存放属性值得内存指针赋给指针变量。热心网友 时间:2023-07-06 19:40
就class A{};来说,
“通过new 调用构造函数”A* pa=new A;,返回值是“operator new”的返回值void*,可以隐式转换类型
A a=A();返回的是A()构造的临时对象右值const A&
当然,直接调用A::A()是非法的,不存在显式调用,自然没有“返回值”的概念,如果有,我觉得那应当是*this(即A&)