Junior — Middle
Peut-on utiliser le mot-clé virtual en C++ pour redéfinir une méthode dans des classes dérivées?
sobes.tech IA
Réponse de l'IA
В C++ ключевое слово virtual используется для объявления виртуальных функций в базовом классе, чтобы обеспечить динамический (полиморфный) вызов методов в производных классах.
При переопределении метода в производном классе повторно писать virtual не обязательно, но можно — это не запрещено и не влияет на поведение. Главное, чтобы метод имел ту же сигнатуру и был объявлен виртуальным в базовом классе.
Пример:
class Base {
public:
virtual void foo() {
// реализация базового класса
}
};
class Derived : public Base {
public:
void foo() override { // override необязателен, но рекомендуется
// переопределённая реализация
}
};
Таким образом, virtual в производном классе можно использовать, но обычно достаточно указать override для явного переопределения.