C++ 中无法继承的类:final、私有继承和构造函数
在 C++ 中,有几种情况下一个类不能被派生类继承:
- 声明为'final'的类:通过将类声明为'final',可以阻止其他类继承它。例如:
class Base final {
// ...
};
- 私有继承:私有继承意味着派生类可以访问基类的成员,但无法直接继承基类的接口。私有继承在类定义中使用'private'关键字来指定。例如:
class Base {
// ...
};
class Derived : private Base {
// ...
};
- 构造函数和析构函数:派生类不能继承基类的构造函数和析构函数。它们必须自己定义自己的构造函数和析构函数,并在其中调用基类的对应函数。
需要注意的是,以上情况只是阻止了派生类继承基类的接口,但派生类仍然可以通过其他方式访问基类的成员,例如通过组合关系或者友元关系。
原文地址: https://www.cveoy.top/t/topic/pd9q 著作权归作者所有。请勿转载和采集!