- •Лабораторная работа 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.
