我可以使子类隐式继承基类构造函数吗?

时间:2016-01-22 14:16:13

标签: c++ inheritance c++14 class-constructors

假设我有:

class A {
public:
        A(int x_) : x(x_) {}
        int x;
};

class B: public A { };
class C: public A { };

使用此代码,B和C不会有任何构造函数(复制构造函数除外)。我想在课程A({em> not BC)中更改某些内容,以便BC继承A的构造函数。这有可能吗?

1 个答案:

答案 0 :(得分:8)

隐含地拥有它们是不可能的。您可以通过以下方式明确地获得构造函数:

class B: public A { using A::A; };
class C: public A { using A::A; };