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

Ключевое слово override в C++

Потомок может заменить метод родителя методом с тем же именем.

Слово override после объявления фиксирует эту замену: компилятор проверит, что в базе есть виртуальный метод с тем же именем и теми же параметрами. Запишем сеттер возраста в User и сузим диапазон в Employee:

class User { public: virtual void setAge(int age) { if (age >= 0) { this->age = age; } } int getAge() { return age; } protected: int age = 0; }; class Employee : public User { public: void setAge(int age) override { if (age >= 18 && age <= 65) { this->age = age; } } };

Создадим объект класса Employee и выведем его возраст:

int main() { Employee employee; employee.setAge(25); std::cout << employee.getAge() << "\n"; return 0; }

В классе User сделайте геттер и виртуальный сеттер возраста.

В классе Employee переопределите сеттер возраста с override и проверяйте диапазон от 18 до 65 лет.

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