在 C++ 中,有几种情况下一个类不能被派生类继承:

  1. 声明为'final'的类:通过将类声明为'final',可以阻止其他类继承它。例如:
class Base final {
    // ...
};
  1. 私有继承:私有继承意味着派生类可以访问基类的成员,但无法直接继承基类的接口。私有继承在类定义中使用'private'关键字来指定。例如:
class Base {
    // ...
};

class Derived : private Base {
    // ...
};
  1. 构造函数和析构函数:派生类不能继承基类的构造函数和析构函数。它们必须自己定义自己的构造函数和析构函数,并在其中调用基类的对应函数。

需要注意的是,以上情况只是阻止了派生类继承基类的接口,但派生类仍然可以通过其他方式访问基类的成员,例如通过组合关系或者友元关系。

C++ 中无法继承的类:final、私有继承和构造函数

原文地址: https://www.cveoy.top/t/topic/pd9q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录