簡體   English   中英

如何在C ++中將參數化構造函數初始化為默認構造函數?

[英]How to initialize parameterised constructor as default constructor in c++?

如何在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
    // ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM