Каким образом можно предотвратить наследование конкретного класса?

В C++ предотвратить наследование от конкретного класса можно несколькими способами:

Короткий ответ

Что ответить на собеседовании

В C++ предотвратить наследование от конкретного класса можно несколькими способами:

Подробный разбор

Ответ с пояснениями

В C++ предотвратить наследование от конкретного класса можно несколькими способами:

  1. Использовать ключевое слово final (начиная с C++11)
class Base final {
    // тело класса
};

// Попытка наследования вызовет ошибку компиляции
// class Derived : public Base {}; // Ошибка
  1. Сделать конструкторы класса закрытыми (private) и предоставить только статические методы — это усложнит наследование, но не полностью его запретит.
  2. Не объявлять виртуальные методы и не проектировать класс для наследования — это скорее рекомендация, чем технический запрет.

Самый простой и современный способ — использовать final для класса, чтобы компилятор запрещал наследование.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку