
- •Лабораторная работа 1
- •Теоретические сведения
- •Ход работы
- •Задание
- •Контрольные вопросы
- •Література
- •Лабораторная работа 2
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 3
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 4
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 5
- •Теоретические сведения
- •Основные библиотечные математические функции c
- •Основные стандартные функции и макросы c (из библиотеки stdlib.H)
- •Основные библиотечные функции c для работы с символами
- •Основные библиотечные функции c для работы с символьными массивами
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 6
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 7
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 8
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 9
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 10
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 11
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 12
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 13
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 14
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 15
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 16
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
Контрольные вопросы
Что такое массив?
Что такое индекс массива?
Как объявить массив в программе?
Какой индекс первый, а какой последний в SomeArray[25]?
В чем смысл ошибки обращения к несуществующему элементу массива?
Как объявить многомерный массив?
Сколько элементов в массиве SomeArray[10][5][20]?
Как выполнить инициализацию массива?
Как можно переходить от одного элемента массива к другому, используя арифметику указателей?
Как передаются массивы в функции : по значению или по ссылке? Что это означает?
Возможны ли массивы объектов?
Что такое массив указателей?
Как объявить / уничтожить массив в свободной памяти?
Что такое строка С-стиля? Каким символом она должна заканчиваться?
Какой заголовочный файл необходим для работы со строками С-стиля?
Как ввести с клавиатуры строку, состоящую из нескольких слов?
Как узнать длину строки и ее максимальный размер?
Как присвоить значение одной строки другой?
Как объединить одну строку с другой?
Как сравнить две строки между собой?
Обязательно ли использовать библиотеку для работы со строками?
В чем преимущество использования строковых классов?
Какие основные операции применяются в строковых классах?
Как называется заголовочный файл строкового класса вашего компилятора?
Для чего применяются классы защищенных массивов?
Напишите прототип оператора индексации?
Почему оператор индексации должен возвращать ссылку?
В чем недостаток массивов? Каким способом он решается?
В чем разница между односвязным и двусвязным списком?
Какую информацию должен хранить узел связного списка?
Какие члены-данные и функции обязательно должны быть в классе связного списка?
В чем преимущество использования STL?
Література
Джесс Либерти. Освой самостоятельно С++. 3 и-е. М.: Вильямс. – 2000.
Г. Шилдт. Полный справочник по С++. 4 и-е. – М.: Вильямс. – 2003.
Т.А. Павловская. С/С++. Программирование на языке высокого уровня. ПИТЕР-2002
С.В. Глушаков. Практикум по С++. ФОЛИО – 2006
Х. Дейтел, П. Дейтел. Как программировать на С++.
Ю.Л. Кетков. Введение в языки программирования C и C++ http://www.intuit.ru/department/pl/ccpp/
А.Л. Фридман. Язык программирования C++ http://www.intuit.ru/department/pl/cpp/
Лабораторная работа 12
Тема: Наследование
Цель:
Теоретические сведения
См. лекция №12
Ход работы
Н
апишите объявление класса Rectangle (прямоугольник), который является производным от Square (квадрат), который, в свою очередь – производный от Shape(фигура). В классе Shape объявите следующие защищенные члены-данные : цвет линий фигуры и толщина ее линий и напишите 2 конструктора - по умолчанию и с параметрами. В классах Square и Rectangle объявите закрытые (защищенные) члены-данные для хранения размеров каждой из фигур, несколько конструкторов, вызывающих конструкторы базового класса, а также методы для вычисления площади и периметра фигур. В классе Rectangle обязательно используйте перекрывание методов базового класса Square. При необходимости добавьте в классы методы доступа. Напишите главную программу, в которой выполните создание объектов-фигур различных типов и их обработку.
Н
апишите объявления для следующих диаграмм классов, включив в него члены-данные, конструкторы по умолчанию и с параметрами , методы доступа, методы ввода-вывода для клавиатуры и экрана и т.д. :
А)
В)
Измените классы Shape->Square->Rectangleиз предыдущего задания на виртуальные. Для этого добавьте в классShapeпустые методы для вычисления площади и периметра и перекройте их виртуальными методами в производных классах. Не забудьте также и про виртуальные деструкторы.
Объявите в главной программе два указателя типа Shapeи создайте два объекта типаSquareиRectangleв свободной памяти, сохранив их адреса в этих указателях. Выполните обработку объектов путем вызова как виртуальных, так и не виртуальных методов классов. Уничтожьте объекты и обнулите их указатели.
В главной программе объявите массив указателей типа Shape. Создайте несколько объектов типаSquareиRectangleв свободной памяти, сохранив их адреса в этом массиве. Вычислите и распечатайте параметры объектов на экране, используя методы этих классов. Уничтожьте объекты и обнулите массив указателей.
Что неверно в этом фрагменте кода? void SomeFunc (Shape); Shape * pRect = new Rectangle; SomeFunc (*pRect);
Что неверно в этом фрагменте кода? class Shape { public: virtual Shape (); ~Shape(); };
***Напишите реализацию классов Студент, Заочник из предыдущего задания как виртуальных и главную программу аналогичную п.3.
***Напишите реализацию классов Транспорт, Автомобиль, Автобус как виртуальных и главную программу аналогичную п.3.