簡體   English   中英

構造函數作為默認參數

[英]constructor as default argument

假設我有2節課

class B
{
   B() { /* BLA BLA */ };
   B(int a) { /* BLA BLA */ };
   B(int a,int b) { /* BLA BLA */ };
}

class A {
public :
  A(B  par);
}

我想知道如何像B的每個構造函數那樣調用具有不正確參數的par的A的構造函數。 (當然,我想看看3個示例,我不希望它們全部並存)

謝謝

您可以執行以下操作:

A(B par = B())
A(B par = B(1))
A(B par = B(1,2))

根據注釋的完整代碼:

class B
{
public:
   B() {  };
   B(int a) {};
   B(int a,int b) {};
};

class A {
public :
  A(B  par = B()/* or B(1) or B(1,2) */);

};
A(B());//create a B object and pass it to A
A(B(1));
A(B(1,2));

或為A定義3個不同的構造函數(但這對我來說聽起來不太好)。

暫無
暫無

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

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