Лабораторная работа №15

Лабораторная работа №15.
Тема: Использование свойства полиморфизма и исследование механизма виртуальных функций.
Цель: Научиться переопределять виртуальные методы в производных классах.
Оснащение: IBM PC, Borland C++ 5.02

 

Вы не можете скачивать файлы с нашего сервера

Задания:

Создать абстрактный базовый класс Item (предмет в библиотеке), который содержит поля «инвентарный номер предмета», переменную-состояние «взят-невзят», строку «имя»; описать конструктор по умолчанию и конструктор с параметром, задающий инвентарный номер. Реализовать в классе метод Take() и Push, а также чисто виртуальные методы Show() (вывод информации на экран) и Name() (присваивает полю name полное имя объекта). Создать производные классы Book, Journal, в которых переопределить методы Show, Name. В классе Book описать конструктор по умолчанию, конструктор с параметром, принимающий 4 аргумента и задающий поля Autor, Title, Year, Publisher, конструктор с параметром, принимающий 5 аргументов, и задающий кроме собственных полей поле «инвентарный номер» посредством вызова соответствующего конструктора базового класса. В классе Journal описать конструктор по умолчанию, конструктор с параметром, принимающий 3 аргумента и задающий поля Title, Number, Date, конструктор с параметром, принимающий 4 аргументов, и задающий кроме собственных полей поле «инвентарный номер» посредством вызова соответствующего конструктора базового класса. В программе описать функцию Show_Info, которая выводит инвентарный номер объекта, информацию об объекте, а так же его статус «взят-невзят». Реализовать программу, демонстрирующую работу всех классов, методов и функций.



Обсудить на форуме

Комментарии к статье:

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Регистрация

Реклама

Последние комментарии

  • GENAJag
    Написал(а): GENAJag
  • Jacog
    Написал(а): Jacog
  • Maxvel
    Написал(а): Maxvel
    В новости: Маршрут №27
  • cbetlana
    Написал(а): cbetlana
    В новости: Маршрут №27
  • Maxvel
    Написал(а): Maxvel
    В новости: Маршрут № 30
  • Maxvel
    Написал(а): Maxvel
    В новости: Маршрут №15
  • RonnieUncen
    Написал(а): RonnieUncen
  • loram
    Написал(а): loram
  • Inna2200111
    Написал(а): Inna2200111
  • Shishkinrom
    Написал(а): Shishkinrom