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