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

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

  1. Чем отличаются прототип функции и определение функции?

  2. Должны ли совпадать имена параметров в прототипе, определениии вызове функции?

  3. Как объявить функцию, если она не должна возвращать значение?

  4. Если вы на объявите тип возврата, какой тип будет принят по умолчанию?

  5. Сколько операторов return может быть в функции?

  6. Что такое локальная переменная?

  7. Что такое область видимости?

  8. Почему бы не сделать все переменные глобальными?

  9. Что такое параметры по умолчанию?

  10. Что такое перегрузка (полиморфизм) функций?

  11. Для чего применяются inline – функции?

  12. Что такое рекурсия?

  13. Какие два типа передачи параметров в функции применяются в информатике? Какая между ними разница?

  14. Какие виды оперативной памяти необходимо различать прикладному программисту?

  15. Что такое стек и стековая память?

  16. Как работают функции?

Література

  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/

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

Тема: Классы и объекты

Цель:

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

См. лекция №6

Ход работы

  1. Напишите код для объявления класса “Студент” с такими открытыми членами-данными: возраст, пол, стипендия.

  2. Напишите программу, в которой создаются два объекта типа “Студент”. Установите их возраст, пол и стипендию. Распечатайте значения членов-данных объектов на экране.

  3. Разработайте методы класса, позволяющие выполнять ввод/вывод всех членов-данных класса “Студент” и проверьте их в главной программе.

  4. Напишите несколько конструкторов и деструктор для класса “Студент”.

  5. Измените код для объявления класса “Студент”, закрыв в нем члены-данные.

  6. Напишите методы доступа к полям класса “Студент”.

  7. Напишите программу, в которой создаются два объекта типа “Студент”. Установите их возраст, пол и стипендию с помощью методов доступа. Распечатайте значения отдельных членов-данных объектов на экране, используя методы доступа. Определите и распечатайте средний возраст и суммарную стипендию этих двух студентов.

  8. *** Напишите объявление и реализацию закрытого класса для работы с датой, состоящей их трех целых чисел : день, месяц, год. Включите в состав класса конструкторы, деструктор, методы доступа, логические методы для проверки частей даты и определения високосного года, распечатки даты в нескольких форматах (“дд.мм.гг”, “дд/мм/гггг”, “mmm-dd-yyyy”). Протестируйте этот класс.

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

  1. Для чего создают новые типы данных? Что такое класс?

  2. Для чего предназначены данные-члены класса?

  3. Какую роль играют функции-члены класса?

  4. Как объявить класс?

  5. Какие существуют соглашение о именах данных-членов?

  6. Что такое объект? Как создать объект?

  7. Когда происходит выделение памяти – при объявлении класса или создании объекта?

  8. Что такое оператор точка и как он используется при работе с объектами?

  9. Для чего в объявлении класс используются ключевые слова private и public?

  10. Какой уровень доступа по умолчанию?

  11. Может ли один класс включать в себя другой класс как член-данное?

  12. Каков размер у объектов класса? Как его определить?

  13. Для чего в объявлении класс используются ключевые слова private и public?

  14. Какой уровень доступа в классах по умолчанию?

  15. Как получить доступ к приватным членам-данным?

  16. Могут ли функции-члены быть приватными? Могут ли данные члены быть открытыми?

  17. Какие существуют способы записи реализации методов класса? Их синтаксис и особенности?

  18. Для чего в объявлении метода класса может использоваться ключевое слово const?

  19. Почему методы типа set не могут быть константными?

  20. Для чего методы типа get рекомендуют делать константными?

  21. Для чего предназначены конструкторы и деструкторы? Как их объявить? Как их вызвать?

  22. Сколько в классе может быть конструкторов? Деструкторов?

  23. Обязательно ли объявлять конструктор и деструктор?

  24. Сколько параметров может принимать конструктор? Деструктор?

  25. Создаст ли компилятор конструктор по умолчанию, если в классе есть другие конструкторы?

  26. Могут ли конструктор и деструктор возвращать результаты оператором return?

  27. Какой оператор можно использовать в конструкторах вместо return?

  28. Как создать новый объект - копию существующего объекта?

  29. Можно ли одному объекту присвоить значение другого?

  30. Можно ли выполнять сложение (вычитание, инкрементирование, сравнение) объектов?