Просмотр содержимого документа
«Методическая разработка лабораторной работы "Конструкторы и деструкторы"»
Лабораторная работа 26
«Конструкторы и деструкторы»
Задание 1.
Пример, который доступно покажет, как работает конструктор:
Набрать и запустить на выполнение.
Задание 2.
В строках 11 – 17 определяем конструктор: имя должно быть идентично имени класса; конструктор НЕ имеет типа возвращаемого значения (void в том числе). Один объект объявляется сразу во время определения класса – строка 25. При запуске программы, конструктор этого объекта сработает даже до входа в главную функцию.
Заполнить пропущенные строки, набрать и проверить работу программы. Добавить в программу конструктор по умолчанию и деструктор.
Задание 3.
Деструктор определен в строках 34 – 37. Для простоты примера он просто отобразит строку в том месте программы, где сработает. Строка 43 – объявляем объект класса и передаем данные для записи в поля. Тут сработает конструктор с параметрами. А в строке 46 – сработает конструктор по умолчанию.
Заполнить пропущенные строки, набрать и проверить работу программы. Добавить в программу конструктор по умолчанию и деструктор.
Задание 4.
В предыдущей лабораторной писали программу с классом Book, полями – название, вес, количество страниц в книге. Задание 4 является продолжением задания из прошлого ЛПЗ.
Фрагмент кода:
Добавьте в класс конструктор для инициализации полей класса.
Дополнительно создадим два объекта и выведем информацию:
Поскольку переменная name имеет public модификатор доступа, то мы можем ссылаться к ней отдельно. Лучше так не делать и для неё тоже установить модификатор private.
Также конструктор может не принимать параметров. В таком случае при создании объекта ничего не надо дополнительно передавать.
Дополните программу деструктором.
Задание 5.
Перед использованием объекта может потребоваться инициализировать некоторые его данные. Для примера рассмотрим класс queue. Функция-конструктор, являющаяся членом класса и имеющая имя, совпадающее с именем класса, представляет собой специальный тип функции. В качестве примера ниже показано, как выглядит класс queue, преобразованный таким образом, чтобы использовать для инициализации конструктор:
Обратим внимание, что конструктор queue() не имеет типа возвращаемого значения. В С++ функции-конструкторы не могут возвращать значений.
Допишите программу с использованием приведенного выше класса. Вам необходимо добавить в класс деструктор и метод, выводящий значения полей на экран.
Задание 6.
Написать программу, реализующую класс Персонаж игры. Поля и методы класса придумать самостоятельно.