Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpIhVr 65 of 150 menu
◀ ▶

Виртуальный метод в C++

Чтобы выбор метода зависел от реального объекта, базовую версию помечают ключевым словом virtual.

Тогда вызов через указатель или ссылку на базовый тип попадет в реализацию потомка, если объект им и создан. Запишем виртуальный greet и выведем строку через User*:

#include <iostream> class User { public: virtual void greet() { std::cout << "user\n"; } }; class Student : public User { public: void greet() { std::cout << "student\n"; } };

Создадим объект Student и вызовем метод через указатель базы:

int main() { Student student; User* ptr = &student; ptr->greet(); return 0; }

Сделайте виртуальный метод label в классе User и другую реализацию в Employee. Вызовите метод через указатель User* на объект сотрудника.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить