1

如何在 C++ 中将参数化构造函数初始化为默认构造函数?这个问题在我的考试中被问到。我们得到了一个参数化的构造函数,它也可以作为默认构造函数。

4

3 回答 3

5

根据标准 (12.1/4),默认构造函数是:

类 X 的默认构造函数是类 X 的构造函数,可以在没有参数的情况下调用

所以你只需要给参数默认值:

class Foo
{
public:
    Foo(int a = 6)
    {

    }
};

int main()
{
    Foo obj;
}
于 2015-10-07T11:10:25.157 回答
1
class A
{
    A(int a = 0)
    {
        std::cout << a;
    }
};

只需使用默认值预定义参数即可。

于 2015-10-07T11:08:59.347 回答
0

当构造函数可以不带参数调用时,它被称为默认构造函数。

但是,当参数被赋予默认值时,可以将接受参数的构造函数转换为默认构造函数。

例如:

class String {
public:
    String(const char∗ p = ""); // default constructor : empty string
    // ...
}
于 2015-10-07T11:25:11.233 回答