Sobes.tech
Назад к вопросам
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"