Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП_ЛабРаботы.doc
Скачиваний:
13
Добавлен:
28.09.2019
Размер:
716.8 Кб
Скачать

Методика выполнения

  1. Запустите MS Visual Studio и откройте проект консольного приложения из работы №4.

  2. Измените объявление структуры на объявление класса.

  3. Сделайте необходимые изменения в объявлениях и определениях функций обработки данных. Отладьте программу. В процессе отладки используйте заглушки и комментарии для постепенного включения исправлений в программу.

  4. Преобразуйте функции консольного и файлового ввода/вывода объектов класса в методы этого класса. Тела методов определите вне блока описания класса в отдельном модуле. Отладьте программу.

  5. Замените в программе все функции консольного ввода/вывода из библиотек stdio.h и conio.h на операции библиотеки классов потокового ввода/вывода.

  6. Переопределите для разработанного класса операторы << и >> для консольного ввода/вывода.

Содержание отчета

Отчет готовится в письменном или печатном виде один на бригаду. В отчет включить листинги модулей, результаты тестовых прогонов программы. Листинги должны содержать спецификации модулей и функций, иметь структурированный вид и комментарии.

Контрольные вопросы

  1. Как в С++ объявляется класс?

  2. С какой целью и как в классе выделяются элементы с различным уровнем доступности?

  3. Как объявляются и какие функции выполняют конструкторы класса?

  4. Как действует деструктор класса?

  5. Что такое friend-конструкции?

  6. Назовите основные элементы библиотеки классов потокового ввода-вывода C++.

  7. Объясните механизм переопределения операций в классах.

  8. В чем достоинства переопределения операций?

Лабораторная работа №6 использование наследования, полиморфизма и абстрактных классов

Цель работы - освоение на практике механизмов наследования, полиморфизма и абстрактных классов в языке С++ для обработки динамических массивов объектов различных классов.

Задание

  1. Разработать на языке С++ 5-ю версию консольного приложение для хранения и отображения сведений об объектах некоторого вида в соответствии с вариантом задания, указанном в таблице.

  2. Графа «Предметная область» представляет родительский класс, в котором определены общие атрибуты. Графа «Список типов объектов» представляет список дочерних классов. Для каждого такого класса необходимо индивидуально определить любые 3 атрибута по своему выбору. В случае затруднений уточнить список атрибутов у преподавателя.

  3. Для представления набора объектов в оперативной памяти использовать динамический массив (массив указателей на объекты класса).

  4. При обработке элементов массива использовать полиморфизм позднего связывания.

  5. Поиск и сортировку производить только по общим атрибутам.

  6. В классах запретить непосредственный доступ к полям данных. Доступ к атрибутам объектов осуществлять только с помощью методов классов.

Варианты задания

Бригада

Предметная область

Список типов объектов

Общие атрибуты

1

Комплектующие для ПК

Процессор, память, НЖМД, монитор

Модель, цена

2

Географические объекты

Страна, река, озеро, гора

Название, континент

3

Сотрудники

Руководитель верхнего уровня, менеджер, штатный исполнитель, совместитель

Ф.И.О., возраст, должность

4

Канцелярские товары

Карандаш, скоросшиватель, тетрадь, органайзер

Фирма-производитель, цена

5

Графические фигуры

Линия, треугольник, прямоугольник, окружность

Название, длина контура

6

Микросхемы

Регистр, счетчик, дешифратор, мультиплексор

Технология, серия

7

Бытовые приборы

Телевизор, холодильник, стиральная машина, СВЧ-печь

Марка, цена

8

Компьютерные программы

Игра, ОС, СУБД, среда программирования

Название, объем дистрибутива

9

Радиоэлектронные элементы

Конденсатор, резистор, транзистор, диод

Марка, количество в наличии

10

Автомобили

Легковой, грузовой, тягач, автобус

Марка, изготовитель, мощность двигателя

11

Книги

Учебник, справочник, худ. литература, альбом

Автор, название, объем

12

Небесные тела

Планета, комета, звезда, галактика

Название

Краткая теория