Skip to content

Latest commit

 

History

History

Week12

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
Задание 12. Наследование. Виртуальные функции.

1. Создать класс man (человек), с полями: имя, возраст, пол и вес. Определить методы переназначения имени, изменения возраста и изменения веса. Создать производный класс student, имеющий поле год обучения. Определить методы переназначения и увеличения года обучения. 

Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций (== и =), другие необходимые методы класса.

Реализовать виртуальную функцию вывода и виртуальную функцию ==. В базовом классе объекты равны, если они одного возраста, в производном классе объекты равны, если они одного года обучения. 

Сформировать массив указателей на объекты обоих классов. Массив объектов прочитать из файла. 

найти количество  людей одного возраста и количество студентов одного года обучения, если тип объекта определяется динамически.



2. Реализовать базовый класс динамический массив с полями размер и указатель на целочисленный тип и необходимые методы конструктор копирования, перегрузить операции =, >>,<<, виртуальную функцию print().

Реализовать классы наследники стек и очередь добавив к стеку поле top (вершина стека), в класс очередь поля (head и tail) и реализовать соответствующие методы стек (push() pop()) очередь(добавить в конец извлечь из начала). 

Сформировать массив указателей на объекты обоих классов. Массив объектов прочитать из файла.