Junior — Middle
92
Можете объяснить, что означает переопределение виртуальной функции в объектно-ориентированном программировании?
Companies where asked
LestaGames
Answer from AI
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"