【发布时间】:2021-05-25 08:29:59
【问题描述】:
我现在正在学习继承,但有一件事我还没有找到可靠的答案。如果我有三个类,一个是超类,两个是子类,如果我的子类继承相同的字段,它们是否需要默认构造函数? b 类没有默认构造函数,因为它从 A 继承其字段,而 c 类具有不同的字段,因此它需要自己的默认构造函数。
class A {
private:
int a;
int b;
public:
A();
A(int, int);
};
class B: public A {
public:
B(int, int);
};
class C : public A {
private:
int c;
public:
C();
C(int, int);
};
非常感谢。
【问题讨论】:
-
您是否需要任何特定的构造函数,这取决于您希望客户端如何构造这些对象,以及可能存在哪些基类构造函数。它与继承哪些字段没有任何关系。
标签: c++ inheritance subclass subclassing