Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы.doc
Скачиваний:
33
Добавлен:
04.03.2016
Размер:
317 Кб
Скачать
☆

Література

  1. Джесс Либерти. Освой самостоятельно С++. 3 и-е. М.: Вильямс. – 2000.

  2. Г. Шилдт. Полный справочник по С++. 4 и-е. – М.: Вильямс. – 2003.

  3. Т.А. Павловская. С/С++. Программирование на языке высокого уровня. ПИТЕР-2002

  4. С.В. Глушаков. Практикум по С++. ФОЛИО – 2006

  5. Х. Дейтел, П. Дейтел. Как программировать на С++.

  6. Ю.Л. Кетков. Введение в языки программирования C и C++ http://www.intuit.ru/department/pl/ccpp/

  7. А.Л. Фридман. Язык программирования C++ http://www.intuit.ru/department/pl/cpp/

Лабораторная работа 14

Тема: Специальные классы и функции

Цель:

Теоретические сведения

См. лекция №14

Ход работы

  1. Напишите объявление статической переменной – члена.

  2. Напишите определение статической переменной – члена.

  3. Напишите объявление указателя на функцию, возвращающую long и принимающую целое.

  4. Измените п.3 так, как если бы функция была членом класса Car.

  5. Напишите объявление массива 10 указателей п.4.

  6. Реализуйте п.5, используя оператор typedef.

  7. Напишите небольшую программу с объявлением класса, имеющего одну переменную-член и одну статическую переменную-член. Пусть конструктор инициализирует переменную-член и инкрементирует статическую переменную член, а деструктор – декрементирует ее.

  8. Напишите драйвер к п.7, в котором создается три объекта и на экран выводятся значения обычной и статической переменных членов класса. Уничтожьте эти объекты и проследите как будет меняться значение статической переменной члена.

  9. Сделайте статическую переменную п.7-8 приватной. Напишите и используйте статическую функцию-член для доступа к приватной статической переменной члену?

  10. Напишите указатель на функцию-член для доступа к приватной статической переменной п.9 и используйте его для вывода значения на экран.

  11. Добавьте еще две переменные- члена в класс. Включите функции доступа, принимающие значения этих переменных, обеспечив при этом всем функциям- членам одинаковый тип возврата и сигнатуры. Используйте указатель на функцию-член для доступа к этим функциям.

Контрольные вопросы

  1. Зачем использовать статические члены-данные, если есть глобальные?

  2. Зачем использовать статические функции-члены, если есть глобальные?

  3. Что значит объявить статическую переменную-член класса, а что значит – определить ее?

  4. Чему принадлежит статический член - данное : классу или объекту? Что это означает?

  5. Можно ли обращаться к public статическому члену - данному без объекта?

  6. Могут ли статические переменные – члены быть приватными?

  7. Как получить доступ к приватной статической переменной-члену без объекта?

  8. Что такое указатель на функции? Для чего они нужны?

  9. Как объявить указатель на функцию? Что нужно указать в объявлении указателя на функцию?

  10. Как использовать оператор typedef для упрощения записи указателей на функции?

  11. Как объявить массив указателей на функции, занести в него имя функции и вызвать ее?

  12. Можно ли передавать указатель на функцию параметром в другие функции?

  13. Как объявить указатель на функции – члены? Как их использовать?

  14. Как объявить массив указателей на функции – члены? Как их использовать?

  15. Как в современных визуальных средствах программирования используются указатели на функции?