假设我有两个班级
class B
{
B() { /* BLA BLA */ };
B(int a) { /* BLA BLA */ };
B(int a,int b) { /* BLA BLA */ };
}
class A {
public :
A(B par);
}
我想知道我怎样才能将A的构造函数称为具有deafult参数的par,作为每个B构造函数。 (当然我想看到3个例子,我不希望所有这些例子一起存在)
感谢
答案 0 :(得分:7)
您可以执行以下操作:
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) */);
};
答案 1 :(得分:0)
A(B());//create a B object and pass it to A
A(B(1));
A(B(1,2));
或为A定义3个不同的构造函数(但这听起来对我不好)。