Справочники C++ virtual

Что такое virtual в C++?

Слово virtual применяется к функциям в базовом классе для обозначения, что эти функции могут быть переопределены в производных классах. Этот механизм является ключевым для реализации полиморфизма, что позволяет вызывать функции производных классов через указатели и ссылки на базовый класс.


Объявление виртуальной функции в базовом классе:

class Shape {
public:
    // Объявление виртуальной функции
    virtual void draw() const {
        std::cout << "Drawing a shape." << std::endl;
    }
};

Здесь virtual перед функцией draw() обозначает, что эта функция может быть переопределена в производных классах.


Переопределение виртуальной функции в производном классе:

class Circle : public Shape {
public:
    // Переопределение виртуальной функции
    void draw() const override {
        std::cout << "Drawing a circle." << std::endl;
    }
};

В производном классе Circle функция draw() переопределена для реализации конкретного рисования круга.


Использование virtual позволяет реализовывать полиморфизм, что упрощает создание иерархий классов и обеспечивает гибкость при работе с объектами разных типов через указатели и ссылки на базовый класс.

Комментарии
Добавить комментарий

Пока комментариев нет