关于defaultconstructor的一个问题

[复制链接]
查看11 | 回复5 | 2021-1-29 05:13:14 | 显示全部楼层 |阅读模式
对于public A
{

A(int a = 1){}
};

我认为当有传入参数时,会显式调用constructor,但当缺省参数时,是调用这个constructor还是调用defaultconstructor亦或是不调用任何constructor,取决于编译器。对么?

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
只能调用这个。
hertz (...) 在 ta 的帖子中提到:对于codepublicA{A(inta=1){}};/code我认为当有传入参数时,会显式调用constructor,但当缺省参数时,是调用这个constructor还是调用defaultconstructor亦或是不调用任何constructor,取决于编译器。...........................

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
Itwillcauseambiguouserroratruntimehertz (...) 在 ta 的帖子中提到:对于codepublicA{A(inta=1){}};/code我认为当有传入参数时,会显式调用constructor,但当缺省参数时,是调用这个constructor还是调用defaultconstructor亦或是不调用任何constructor,取决于编译器。...........................

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
如果你写了这个constructor,defaultconstructor就不会出现了,所以缺省参数也只是调这个hertz (...) 在 ta 的帖子中提到:对于codepublicA{A(inta=1){}};/code我认为当有传入参数时,会显式调用constructor,但当缺省参数时,是调用这个constructor还是调用defaultconstructor亦或是不调用任何constructor,取决于编译器。...........................

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
嗯,你是对的。我之前以为LZ说的是classA{public:A();A(inta=0);};这种情况badbear (大坏熊^_^) 在 ta 的帖子中提到:如果你写了这个constructor,defaultconstructor就不会出现了,所以缺省参数也只是调这个

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
这货木有默认函数hertz (...) 在 ta 的帖子中提到:对于codepublicA{A(inta=1){}};/code我认为当有传入参数时,会显式调用constructor,但当缺省参数时,是调用这个constructor还是调用defaultconstructor亦或是不调用任何constructor,取决于编译器。...........................
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行