- •Методические указания к лабораторным работам по дисциплине
- •Литературные источники, методические указания Основная литература
- •Дополнительная литература
- •Примерное содержание отчета
- •Требования к разрабатываемым программам
- •Список лабораторных работ (3 семестр, 32 часа)
- •Лабораторная работа № 2. “Перегрузка функций. Разработка и реализация пользовательских классов” (4 часа)
- •Лабораторная работа № 3. “Ссылочный тип. Инициализация классов, конструкторы и деструкторы” (4 часа)
- •Лабораторная работа № 4. “Функции-друзья классов. Перегрузка операторов классов” (4 часа)
- •Лабораторная работа № 5. “Иерархии классов. Наследование” (4 часа)
- •Лабораторная работа № 6. “Пространства имен. Исключения” (4 часа)
- •Лабораторная работа № 7. “Шаблоны” (4 часа)
- •Лабораторная работа № 8. “Потоки ввода-вывода” (4 часа)
Лабораторная работа № 3. “Ссылочный тип. Инициализация классов, конструкторы и деструкторы” (4 часа)
ЦЕЛЬ РАБОТЫ
1. Изучение использования ссылочного типа в пользовательских классах.
2. Программирование классов с использованием конструкторов (по умолчанию, с параметрами, конструктора копирования) и деструкторов.
СПИСОК ЗАДАЧ
Лекционные примеры по использованию ссылочного типа.
Индивидуальные задания по разработке классов.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Изучить правила использования ссылочного типа в функциях и методах классов.
2. Воспроизвести лекционные примеры, выполнить задания по использованию ссылок.
3. Модифицировать классы индивидуальных заданий, использовав для их инициализации конструкторы всех типов.
4. Реализовать разработанные классы на языке С++ в виде консольных приложений, обеспечивающих использование их объектов.
Лабораторная работа № 4. “Функции-друзья классов. Перегрузка операторов классов” (4 часа)
ЦЕЛЬ РАБОТЫ
1. Изучение использования friend-функций для доступа к классам извне.
2. Изучение особенностей перегрузки операторов в пользовательских классах.
СПИСОК ЗАДАЧ
Индивидуальные задания по разработке классов.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Изучить правила использования friend-функций.
2. Изучить правила и способы перегрузки операторов.
3. Реализовать в индивидуальных заданиях по разработке классов перегрузку операторов обоими способами.
Лабораторная работа № 5. “Иерархии классов. Наследование” (4 часа)
ЦЕЛЬ РАБОТЫ
1. Изучение правил наследования классов.
2. Реализация одиночного наследования классов.
3. Изучение управления методами и свойствами производных классов через объекты производных классов и через указатели на объекты производных классов.
4. Изучение правил описания наследования и диаграмм классов в языке UML.
СПИСОК ЗАДАЧ
Индивидуальные задания на разработку классов. Реализовать одиночное прямое наследование.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Изучить правила описания диаграмм классов с наследованием в языке UML [С. Кендалл. “UML. Основные концепции”. Глава 3, с. 36-37].
2. Для каждого индивидуального задания разработать и описать диаграммы классов с прямым наследованием. Для этого добавить классы, выполняющие роль базовых или производных по отношению к классу индивидуального задания. Для производного класса добавить 1-2 новых свойства и соответственно методы для их установки и получения (например, TO_SET(), TO_SHOW() и т.п.). Результаты проектирования классов (диаграммы UML) согласовать с преподавателем!
3. Описать на языке С++ разработанные классы, включая конструкторы производного класса.
4. Реализовать консольные приложения для демонстрации работы с объектами базовых и производных классов. Т.е. продемонстрировать: - вызов всех public-членов базового класса со стороны объектов базового класса; - вызов всех public-членов базового класса и всех public-членов производного класса со стороны объектов производного класса. Вызов членов реализовать сначала через сами объекты (оператор “.”), а затем через указатели на объекты (оператор “->”) – итого 6 вариантов.