Назад к вопросам
Junior — Middle
81
Можете объяснить, что означает переопределение виртуальной функции в объектно-ориентированном программировании?
Компании, где спрашивали
LestaGames
Ответ от нейросети
sobes.tech AI
Переопределение виртуальной функции — это механизм в объектно-ориентированном программировании, который позволяет подклассу предоставить свою реализацию метода, объявленного как виртуальный в базовом классе. Это обеспечивает полиморфизм: при вызове метода через указатель или ссылку на базовый класс будет вызвана версия метода, соответствующая реальному типу объекта.
Пример на C++:
class Base {
public:
virtual void show() {
std::cout << "Base show" << std::endl;
}
};
class Derived : public Base {
public:
void show() override { // переопределение виртуальной функции
std::cout << "Derived show" << std::endl;
}
};
Base* obj = new Derived();
obj->show(); // Выведет "Derived show"