这是一个班级:
class P1{
public:
P1(int i){}
};
这是另一个类:
class P2{
public:
P2(int i){}
};
这是一个继承自上述两个类的类:
class D: public P1, public P2{
//?
};
我是否也是这两个班级的建设者? 如何编辑D类,以便我可以通过以下方式构造派生类:
D d(11,22);
答案 0 :(得分:3)
class D : public P1, public P2
{
public:
D(int x, int y) : P1(x), P2(y)
{
}
};
答案 1 :(得分:2)
这是做到这一点的方法,
class D: public P1, public P2{
D(int x, int y) // Have your own constructor for the derived class
: P1(x), P2(y) {}
};
答案 2 :(得分:1)
构造函数不能 隐式继承。 但是为了能够使用基类构造函数,使用成员初始化语法,如prevoius答案中已经提出的那样