![]() |
#2
rjsp2021-12-28 19:29
|
定义类cam如下

class cam
{
int m_x;
float m_y;
cam getcam(int a,float b)
{
return cam{a,b};
}
}
int main()
{
int a=1;
float b=2;
cam c1;
int c=c1.getcam(a,b).m_x;
}
如果运行面代码,程序不报错,其中成员函数getcam()中 return cam{a,b}可调用构造函数完成对象构造。
但如果自己定义了无参默认构造函数却会报错。会提示缺乏与之对应的有参构造函数。
我想了解,如果自己不生命和定义构造函数的话,上面代码调用的是什么构造函数,是默认构造函数吗?为什么其可以接受两个参数呢?谢谢