Лабораторная работа 2


Цель работы: Ознакомиться со структурой класса, его созда-нием и использованием, описанием членов-данных класса и ме-тодов доступа к ним, возможностью инициализации объектов класса с помощью конструкторов и уничтожением их с помощью деструкторов. 1. Порядок выполнения работы. 1. Ознакомьтесь с теоретическими сведениями? 2. Разберите работу программы 1. Выясните следующие вопросы: — Что если метод SetField поместить в открытую часть класса, чтобы иметь возможность модификации поля field1? — Что если в конструктор с двумя параметрами добавить значение по умолчанию для поля field2? — Что если в класс First добавить третий конструктор, который принимает в качестве параметра значение поля field3 и устанавливает по умолчанию значение поля field2? — Что если необходимо указывать входной параметр для field3, а field2 инициализировать некоторым значением по умолчанию? 3. Выполните индивидуальное задание? 2? Индивидуальные задания. 1. Создать класс, который выполняет вычисления с двумя операндами, которые вводятся с командной строки. Знак операции тоже задается в командной строке. Обеспечьте вывод результата на экран. 2. Создать класс, который по заданным координатам вычер- чивает многоугольник на экране компьютера. Координаты зада-ются как параметры конструктора. Если координата равна 0, то угол отсутствует. 3. Определите класс histogram (гистограмма), в котором ведется подсчет чисел в определенных интервалах, которые задаются как параметры конструктора histogram. Данные для гистограммы даны в текстовом файле. Обеспечьте функцию вывода гистограммы на экран. 4. Определите класс, генерирующий случайные числа с нормальным распределением. Класс имеет конструктор, задающий параметры распределения, и функцию, которая печатает таблицу данных на экран и в файл. 5. Определите класс Time, реализующий понятие времени. Также напишите программу, использующую созданный класс для вычисления предыдущего и последующего времени, выводящую его на экран. Текущее время задается с клавиатуры или счи-тывается с системного времени компьютера. 6. Определите класс Date, реализующий понятие даты. Также напишите программу, использующую созданный класс. Она дол-жна вычислять предыдущий или последующий день. Устанавли-вать и распечатывать текущий день, используя введенную дату с клавиатуры или взяв системную дату. 7. Определите класс MeсяцГода, реализующий понятие месяца в году. Также напишите программу, использующую созданный класс. Она должна вычислять предыдущий или последующий месяц. Устанавливать и распечатывать текущий месяц, используя введенную дату с клавиатуры или взяв системную дату. 8. У шейха есть самолеты. Напишите программу, выдающую по вводу идентификатора информацию по каждому самолету. В качестве этой информации используйте 3-4 из наиболее важ-ных, с вашей точки зрения, свойства. Пример работы: Имя? Боинг 4HG23 Это самолет. Скорость: 1223 Макс.высота: 234 пассажиров: 121 статус: вчера разбился 9. Напишите свой класс СтрокаВвода и программу ис-пользующую этот класс. Определите различные функции рабо-тающие со строками. 10. Определите свой класс File, осуществляющий работу с файлами. Класс File должен иметь возможность взаимодей-ствовать со стандартными функциями С для работы с файлами. 11. В записной книжке хранится следующая информация: Страница: знакомый, номер телефона Знакомый: фамилия, имя, отчество Количество записей на странице — 1…20 Количество страниц от А…Я Данные в записную книжку заносятся с клавиатуры. Напишите программу, которая будет определять есть ли све-дения о знакомом с заданной фамилией или по заданному номеру телефона определять хозяина телефона. 12. Имеется база данных жителей города: Житель: фамилия, город Адрес: улица, дом, квартира Данные в базу считываются из файла. Напишите программу, которая печатает фамилии двух жителей, живущих в разных городах, но по одинаковому адресу. 3? Отчет по работе • Название работы и ее цель; • Ответы на поставленные вопросы в порядке проведения работы; • Листинг разработанной и отлаженной программы индивидуального задания? 4? Вопросы по лабораторной работе 1. Что такое класс? Приведите аналог класса в Си. Для чего описываются классы? 2. Чем отличается класс от структуры? 3. Для чего члены класса разбиваются на 3 области доступа? 4. Для чего в классе определяется конструктор? Сколько может быть конструкторов в классе? Когда вызывается конст-руктор? 5. Может ли быть конструктор описан в области доступа private? 6. Для чего в классе определяется деструктор? Сколько может быть деструкторов в классе? Когда вызывается деструктор? 7. Может ли быть деструктор описан в области доступа private? 8. Что такое конструктор, деструктор по умолчанию? Когда они вызываются? 9. Что такое экземпляр класса? 10. Как можно обратиться к членам-данным и членам-функциям класса?

Загрузка...