- •Лабораторная работа 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/
Лабораторная работа 9
Тема: Ссылки
Цель:
Теоретические сведения
См. лекция №9
Ход работы
Создайте объект целого типа в стеке. Затем ссылку и указатель на него. Измените и распечатайте значение этого объекта с помощью указателя и ссылки.
Создайте объект любого ранее разработанного класса (Cat, Worker,Pencil…) в стеке. Затем ссылку и указатель на него. Измените и распечатайте значение этого объекта с помощью указателя и ссылки.
Создайте объект любого ранее разработанного класса (Cat, Worker,Pencil…) в свободной памяти. Затем ссылку и указатель на него. Измените и распечатайте значение этого объекта с помощью указателя и ссылки.
Напишите двумя способами:
прототип функции для вычисления квадрата, куба и обратного значения вещественного числа;
реализацию этой функции;
драйвер для ее проверки.
Напишите двумя способами:
прототип функции для вычисления длины окружности, площади круга и объема шара, если известен радиус;
реализацию этой функции;
драйвер для ее проверки.
Введите с клавиатуры с помощью функции scanf() два числа (целое и вещественное) и распечатайте их на экране при помощи функцииprintf(), если оба числа были введены правильно.
Напишите три варианта функции, которая принимает параметром объект любого ранее разработанного класса (Cat, Worker,Pencil…) и возвращает в качестве результата измененный объект. Проверьте их.
Напишите функцию, которая создает объект любого ранее разработанного класса (Cat, Worker,Pencil…) в свободной памяти и возвращает в качестве результата ссылку на объект. Проверьте ее.
Напишите функцию, которая создает объект любого ранее разработанного класса (Cat, Worker,Pencil…) в свободной памяти и возвращает в качестве результата адрес объекта. Проверьте ее.
Создайте в свободной памяти три объекта различных типов (Cat, Worker,Pencil…). Замените указатели ссылками и выполните обработку этих объектов. Освободите свободную памяти, применяя указатели.
Контрольные вопросы
Что такое ссылка?
Как создать ссылку в программе?
Обязательно ли нужно инициализировать ссылку?
На что могут быть созданы ссылки?
Для чего нужна передача аргументов функции по ссылке?
Какие два способа передачи по ссылке существуют? В чем их различие?
Можно ли использовать одновременно и ссылки и указатели в одной функции?
Может ли функция возвращать в качестве результата ссылку?
Может ли имя функции быть слева от оператора = ?
Почему передача по ссылке более эффективна?
Что такое ссылка-константа? Когда она применяется?
Какую роль в классах выполняет конструктор копирования?
Какой прототип у конструктора копирования?
Можно ли создавать объект в функции и возвращать ссылку на него?
Когда пользуются ссылками, а когда указателями?
