- •Лабораторная работа 1
- •Теоретические сведения
- •Ход работы
- •Задание
- •Контрольные вопросы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 2
- •Теоретические сведения
- •Ход работы
- •Література
- •Лабораторная работа 3
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 4
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 5
- •Теоретические сведения
- •Основные библиотечные математические функции c
- •Основные стандартные функции и макросы c (из библиотеки stdlib.H)
- •Основные библиотечные функции c для работы с символами
- •Основные библиотечные функции c для работы с символьными массивами
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 6
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 7
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 8
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 9
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 10
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 11
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 12
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 13
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 14
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 15
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 16
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
Література
Джесс Либерти. Освой самостоятельно С++. 3 и-е. М.: Вильямс. – 2000.
Г. Шилдт. Полный справочник по С++. 4 и-е. – М.: Вильямс. – 2003.
Т.А. Павловская. С/С++. Программирование на языке высокого уровня. ПИТЕР-2002
С.В. Глушаков. Практикум по С++. ФОЛИО – 2006
Х. Дейтел, П. Дейтел. Как программировать на С++.
Ю.Л. Кетков. Введение в языки программирования C и C++ http://www.intuit.ru/department/pl/ccpp/
А.Л. Фридман. Язык программирования C++ http://www.intuit.ru/department/pl/cpp/
Лабораторная работа 10
Тема: Углубленное изучение функций
Цель:
Теоретические сведения
См. лекция №10
Ход работы
Напишите объявление закрытого класса Circle с следующими переменными-членами : координаты центра и радиус (itsX,itsY, itsRadius). Включите в класс конструктор по умолчанию, деструктор и методы доступа.
Напишите реализацию конструктора по умолчанию, инициализируя itsRadius числом 20, а XиY– числом 100.
Добавьте второй конструктор, который принимает координаты центра и радиус как параметры и инициализирует itsX,itsY, itsRadius. Причем радиус может иметь значение по умолчанию равное 20.
Добавьте третий конструктор, который вводит координаты центра и радиус с клавиатуры или считывает их из заранее подготовленного текстового файла на магнитном диске и присваивает значения itsX,itsY, itsRadius.
Напишите конструктор копирования для класса Circle, который будет нам сообщать о своем выполнении.
Напишите перегруженные методы для вычисления длины окружности, площади круга и объема шара как для объекта с радиусом itsRadius, так и для произвольного радиуса.
Напишите программу в которой создается 4 объекта Circle – три в стеке, а один в свободной памяти. Первый конструктором по умолчанию, второй - конструктором с параметрами, третий – путем ввода с клавиатуры, четвертый – путем чтения данных из файла. Выполните вычисления и распечатки с помощью методов класса.
Создайте в классе Circle префиксный и постфиксный операторы инкремента и декремента, воздействующие только на член-данное радиус itsRadius.
Создайте в классе Circle оператор + для сложения объектов типа Circle. Необходимо складывать только величины радиусов itsRadius.
Создайте в классе Circle операторы < и = = для сравнения объектов типа Circle по величине радиуса itsRadius.
Измените класс Circle так, чтобы itsX,itsY, itsRadius создавались в свободной памяти. Откорректируйте конструкторы, деструктор и методы этого класса.
Напишите конструктор копирования для класса Circle.
Разработайте оператор = для класса Circle.
Напишите программу в которой создается два объекта Circle. Инкрементируйте эти объекты и выполните распечатку значений их данных. Сравните объекты на равенство и < и выведите результаты сравнения на экран. Присвойте второй объект первому и распечатайте его параметры.
Что неверно в реализации оператора присваивания? SQUARE::SQUARE operator = (const SQUARE & rhs) { itsSide = new int; *itsSide = rhs.GetSide(); return *this; }
