Назад к вопросам
Junior — Middle
83
Можно ли в C++ использовать ключевое слово virtual для переопределения метода в производных классах?
Компании, где спрашивали
Телкор
Ответ от нейросети
sobes.tech AI
В C++ ключевое слово virtual используется для объявления виртуальных функций в базовом классе, чтобы обеспечить динамический (полиморфный) вызов методов в производных классах.
При переопределении метода в производном классе повторно писать virtual не обязательно, но можно — это не запрещено и не влияет на поведение. Главное, чтобы метод имел ту же сигнатуру и был объявлен виртуальным в базовом классе.
Пример:
class Base {
public:
virtual void foo() {
// реализация базового класса
}
};
class Derived : public Base {
public:
void foo() override { // override необязателен, но рекомендуется
// переопределённая реализация
}
};
Таким образом, virtual в производном классе можно использовать, но обычно достаточно указать override для явного переопределения.