假设我有:
class A {
public:
A(int x_) : x(x_) {}
int x;
};
class B: public A { };
class C: public A { };
使用此代码,B和C不会有任何构造函数(复制构造函数除外)。我想在课程A
({em> not B
或C
)中更改某些内容,以便B
和C
继承A
的构造函数。这有可能吗?
答案 0 :(得分:8)
隐含地拥有它们是不可能的。您可以通过以下方式明确地获得构造函数:
class B: public A { using A::A; };
class C: public A { using A::A; };