1

假设我有:

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

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

使用此代码,B 和 C 将没有任何构造函数(除了复制构造函数)。我想更改类中的某些内容A不在Bor中C),以便两者BC继承A. 这有可能吗?

4

1 回答 1

8

不可能隐含地拥有它们。您可以通过以下方式显式使用构造函数:

class B: public A { using A::A; };
class C: public A { using A::A; };
于 2016-01-22T14:20:17.083 回答