У вас вопросы?
У нас ответы:) SamZan.net

ЗАДАНИЕ 1 Рассматривается иерархия классов геометрических фигур

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.12.2024

Рубанчик В. Б.

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

Применение механизма виртуальных функций. Виртуальные деструкторы.

2/2

Исследования механизма виртуальных функций

 ЗАДАНИЕ 1

  1.  Рассматривается иерархия классов геометрических фигур. В качестве базового используется класс Figure, не имеющий полей данных. В классе определена функция void show(void), которая выдает сообщение "Функция класса Figure".
  2.  Как производные от класса Figure (public) описываются классы кругов (Circle) и прямоугольников (Rectangle). В классе Circle конструктор принимает один аргумент (радиус) и проверяет, больше ли он нуля (при ошибке - выход из программы с соответствующим сообщением). В классе Rectangle конструктор имеет один или два аргумента - длины сторон соответственно квадрата и прямоугольника (проверка >0).
  3.  В классах Circle и Rectangle определены также следующие функции-члены:
    1.  double area(void), вычисляющая и возвращающая площадь соответствующей фигуры;
    2.  void show(void), выводящая информацию о типе фигуры (круг, прямоугольник и т.п.), о заданных размерах фигуры (например, радиус для круга, или длины сторон прямоугольника) и величину площади фигуры.

Функция show должна идентифицировать случай квадрата. Для проведения исследований в этих классах должны быть описаны public-функции, возвращающие адреса каждого из полей данных (радиуса для круга или каждой из сторон для прямоугольника).

  1.  Создать объекты классов Figure, Circle и Rectangle (прямоугольник и квадрат). Для объектов классов Circle и Rectangle выяснить структуру, для чего найти размер объекта, адрес объекта и адреса каждого из полей.
  2.  Создать массив pF из четырех указателей на Figure и инициализировать его элементы адресами созданных объектов. Вызвать для каждого из элементов массива функцию show. Описать какие результаты получены и почему.
  3.  В классе Figure описать функцию show как виртуальную. Вновь исследовать структуры объектов классов Circle и Rectangle (размеры и адреса объектов и их полей). Повторить вызовы функции для элементов массива pF. Описать какие изменения произошли в результатах работы программы.
  4.  В классе Figure объявить чисто виртуальную функцию double area(void). Откомпилировать программу. В отчете объяснить, что из ранее выполнявшегося теперь невозможно и почему. Скорректировать программу, исключив из нее неверные действия.
  5.  Вновь исследовать структуру объектов классов Circle и Rectangle.

Виртуальные деструкторы

 ЗАДАНИЕ 2 (Исследование механизма виртуальных деструкторов)

  1.  Создать иерархию классов Base <- Derived1 <- Derived2 с наследованием типа public. Классы имеют деструкторы, сообщающие о своей принадлежности данному классу.
  2.  В функции main определить два указателя pB1 и pB2 на класс Base. Инициализировать эти указатели адресами объектов типов Derived1 и Derived2, созданными с помощью операции new.
  3.  С помощью операции delete освободить память, выделенную для этих объектов. Перед выполнением операции программа должна выводить сообщение "Удаляется объект Derived1" (или Derived2). Какие деструкторы вызываются в каждом случае? Есть в этом ли проблема и какая?
  4.  Деструктор класса Base сделать виртуальным. Выполнить программу. Какие изменения произошли в результатах? Повлияла ли виртуальность деструктора класса Base на действия с объектом Derived2 ?




1. Необоротные активы 10 Основные средства
2. Детский сад 14 Родничок города Алатыря Чувашской Республики воспитатель
3. und Lehrmtsstudium ohnehin leicht- Wenn Ihr Fchinteresse sehr hoch ist und Sie zugleich wenig Lust versp~ren mit Kindern und Jugendlichen zu rbeiten dnn liegt nt~rlich ein Fchstudium nhe.html
4. тема показателей качества продукции необходима для отражения экономической сущности качества через техниче
5. Меня зовут Серджио мне 19 лет обычный нищий и человек у которого нет мечты
6. Варіант 1 1.1Охарактеризуйте особливості становища людини в світі та необхідність її самовизначення
7. Стань дизайнером своего лета 2012 01.html
8. тематизувати й узагальнити вивчене про значущі частини слова; з~ясувати рівень засвоєння знань сформованос
9. Тема Приклади та задачі на засвоєння таблиць додавання і віднімання чисел 2 ~ 5 з переходом через розряд
10. і Кожний з них відіграє певну роль яка визначається змістом дій учасника та його функцією у конфлікті
11. ВСТУП Паразити зустрічаються майже всюди
12. на тему- Джерела формування капіталу підприємства Плаксій Н
13.  Кризис юношеского возраста в концепции Э
14. Прощай а сердце рвется на куски при одной только мысли о разлуке
15.  ПРОЕКТУВАННЯ ПЕРЕНАЛОГОДЖУВАЛЬНОГО ПРИСТРОЮ 1
16. вещества растворы которых не проводят электрический ток
17. нашло временное помрачение ума
18. Статья 1 Предмет регулирования Закона Настоящий Закон регулирует правоотношения возникающие в связи с
19. общественное сознание.html
20. Синтез многоконтурной АСР абсорбционной установки