我有类 Foo 和给定的构造函数:
class Foo {
public:
Foo(int w, char x, int y, int z);
...
};
int main()
{
Foo abc (10, 'a');
}
我可以像这样使用那个构造函数吗?当构造函数签名不匹配时?
那么如何给默认值呢?
最佳答案
除非签名尾部的参数有默认值,例如:
class Foo {
public:
Foo(int w, char x, int y=5, int z=0);
...
};
如果有默认值,那么您可以只提供非默认参数,并且可以选择提供一些默认参数,即以下任何调用都是有效的:
Foo abc (10, 'a');
Foo abc (10, 'a', 3);
Foo abc (10, 'a', 42, 11);
关于c++ - 在 C++ 中用更少的参数调用构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8576481/