РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗cppTsTmClL5 115 of 131 menu

Задачи на ООП в C++. Часть 5

Пусть класс Employee наследует от класса User из данного урока.

Переопределите в классе Employee конструктор родителя, добавив в него параметр с возрастом и зарплатой.

Сделайте геттеры для возраста и зарплаты.

Дан следующий код:

class User { private: int age; public: void setAge(int age) { if (age >= 0) { this->age = age; } else { std::cout << "need age more 0"; } } }; class Employee : public User { public: void setAge(int age) { if (age <= 120) { if (age >= 0) { this->age = age; } else { std::cout << "need age more 0"; } } else { std::cout << "need age less 120"; } } };

В классе Employee исправьте упростите сеттер возраста, использовав оригинальный метод родителя.

Дан следующий класс-родитель:

class User { private: std::string name; std::string surn; public: void setName(const std::string& name) { this->name = name; } std::string getName() { return this->name; } void setSurn(const std::string& surn) { this->surn = surn; } std::string getSurn() { return this->surn; } };

Сделайте класс Employee, который будет наследовать от этого родителя.

Создайте объект класса Employee и вызовите унаследованные сеттеры и геттеры.

В классе Employee сделайте следующий метод:

std::string getFull() { return this->name + " " + this->surn; }

Убедитесь, что код метода приведет к ошибке.

Дан следующий код:

class User { private: std::string name; public: void setName(const std::string& name) { this->name = name; } std::string getName() { return this->name; } }; class Employee : public User { public: void setName(const std::string& name) { if (name.size() > 0) { this->name = name; // ошибка } } };

в классе потомка переопределяется метод родителя. Исправьте проблемы в этом коде:.

Попробуйте в классе Employee воспользоваться приватным методом родителя.

Дан следующий код:

class User { private: std::string name; public: void setName(const std::string& name) { this->name = name; } std::string getName() { return this->name; } }; class Employee : public User { public: void setName(const std::string& name) { if (name.size() > 0) { this->name = name; } } };

Перепишите через защищенное поле.

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