![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Практикум по теме. В следующей таблице собрана коллекция фигур, которыми можно дополнить рассмотренную прикладную программу. № п/п Наименование Вид Отражение
В следующей таблице собрана коллекция фигур, которыми можно дополнить рассмотренную прикладную программу.
Для некоторых фигур возможны поворот на 90o вправо или влево или отражение относительно горизонтальной и/или вертикальной оси симметрии, причём для части из них имеются обе возможности. Некоторые фигуры могут строиться как составные из более простых. Эти идеи можно отобразить показанной на рисунке возможной иерархией классов.
При примыкании фигур учитываются их габаритные точки. 4.3. Варианты индивидуальных заданий к теме
4.4. Требования к отчёту В отчёт по этой теме включите описание получившейся иерархии классов и пояснения, какие функции-члены пришлось переопределить и почему. Контрольные вопросы 1. Какой базовый класс лучше всего использовать для производного класса «треугольник»? 2. То же — для класса «кружок»? 3. То же — для класса «крестик»? 4. Какой тип наследования следует выбрать: private, public или protected? 5. Можно ли вообще не указывать тип наследования? 6. В чём смыл объявлении функций в базовом классе как виртуальных? 7. Что такое «чисто виртуальная функция»? 8. Обязательно ли переопределять все функции-члены базового класса в производном классе? 9. Зачем может понадобиться создание набора (массива или списка) указателей на разные типы объектов в пределах некоторой иерархии? 10. Как запретить для объекта вызов конструктора по умолчанию? 11. Как запретить вызов конструктора для использования в качестве неявного преобразователя типа? 12. Каким образом можно установить значение переменных объекта, объявленных с модификаторами const? 13. Каким образом следует инициализировать объект базового класса в конструкторе производного класса? Всегда ли это нужно делать?
|