如何在c++中将参数化构造函数初始化为默认构造函数

How to initialize parameterised constructor as default constructor in c++?

本文关键字:构造函数 初始化 默认 参数 c++      更新时间:2023-10-16

如何在c++中初始化参数化构造函数作为默认构造函数?这个问题在我的考试中被问到。我们得到了一个参数化构造函数;

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

默认的类的构造函数X是类的构造函数吗X可以不带参数调用的

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

class Foo
{
public:
    Foo(int a = 6)
    {
    }
};
int main()
{
    Foo obj;
}
class A
{
    A(int a = 0)
    {
        std::cout << a;
    }
};

使用默认值预定义参数

如果可以不带参数调用构造函数,则称为默认构造函数。

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

例如:

class String {
public:
    String(const char∗ p = ""); // default constructor : empty string
    // ...
}