构造函数作为默认参数

Ida*_*dan 0 c++ class

假设我有2节课

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

class A {
public :
  A(B  par);
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何调用A的构造函数与par有一个deafult参数,作为每个B构造函数.(当然我想看3个例子,我不希望它们全部存在)

谢谢

Nav*_*een 7

你可以这样做:

A(B par = B())
A(B par = B(1))
A(B par = B(1,2))
Run Code Online (Sandbox Code Playgroud)

完整代码根据评论:

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) */);

};
Run Code Online (Sandbox Code Playgroud)

  • 对于downvote的原因感到好奇..答案中出了什么问题? (2认同)