【发布时间】:2012-09-20 00:31:07
【问题描述】:
这是一个类:
class P1{
public:
P1(int i){}
};
这是另一个类:
class P2{
public:
P2(int i){}
};
这是一个继承自上面两个类的类:
class D: public P1, public P2{
//?
};
我是否也继承了这两个类的构造函数?
如何编辑 D 类,以便我可以通过以下方式构造派生类:
D d(11,22);
【问题讨论】:
-
不,你没有继承构造函数。但是您可以访问基类构造函数。
-
您需要的是Member Initalizer list。
-
类 P1:不是 A,你是指 P1 吗?
-
@spin_eight 他当然做到了。这是一个错字。
-
您可以 inherit constructors 使用 C++11 的新 tricks。但在你的情况下,我想知道这是否可能,因为两个基类构造函数具有相同的签名。
标签: c++ class inheritance constructor c++11