如果我显式定义一个带参数但没有默认构造函数的构造函数,是否仍会创建默认构造函数?
谢谢!
最佳答案
不,在这种情况下您必须显式提供默认构造函数。
尽管您可以(从 C++11 开始),对于类 Foo
,使用语法
Foo() = default;
在重新引入编译器生成的默认构造函数的类声明中。 (请注意,您需要将其放在 public
部分以实现完全等效)。
或者,如果您为所有构造函数参数提供默认参数,则它成为默认构造函数。
关于c++ - 如果我显式定义带参数的构造函数,是否仍会创建默认构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38995603/