Вопросы к экзамену по курсу «ООП» для ф-та ЭТМО (2006/2007 уч.год)
1. Этапы перехода к ООП. Основные черты ООП: инкапсуляция, наследование, полиморфизм.
2. Объектная модель С++. Основные свойства объектной модели. Примеры.
3. Система ввода-вывода С++. Иерархия потоковых классов.
4. Стандартные потоки для базовых типов. Форматирование потоков ввода-вывода. Форматирующие функции-элементы. Флаги форматирования.
5. Манипуляторы потоков С++: простые, параметризованные. Примеры.
6. Классы: определение, синтаксис. Элементы класса и разграничение доступа. Примеры.
7. Классы и объекты. Специальные функции, назначение: конструктор, конструктор копии, оператор присваивания, деструктор, new, delete, преобразование типов. Примеры.
8. Конструкторы и деструкторы. Примеры.
9. Конструкторы с параметрами. Пример.
10. Конструкторы по умолчанию. Пример.
11. Конструктор копии и его особенности. Пример.
12. Доступ к элементам класса. Операции ., ->, ::. inline-функции. Указатель this.
13. Многофайловые программы. Проекты. Заголовочный файл.
14. Динамические структуры данных – списки. Виды списков. Свойства массивов и списков.
15. Формирование очереди. Формирование стека. Примеры.
16. Объекты в качестве аргументов функций. Объекты, возвращаемые функцией.
17. Перегрузка функций, ограничения. Реализация функций внутри и вне класса.
18. Перегрузка операций в классах. Ограничения на перегрузку операций.
19. Перегрузка унарных операций. Пример.
20. Перегрузка бинарных операций. Пример.
21. Статические данные класса. Назначение и особенности применения.
22. Константные объекты и элементы функции, особенности.
23. Дружественные классы и функции. Правила дружественности. Пример перегрузки операции с использованием friend.
24. Наследование классов и полиморфизм ООП. Концепция иерархии классов. Базовый и производный классы: определение и синтаксис.
25. Комбинации ключей доступа в базовом и производном классах (таблица). Передача аргументов в базовый класс. Доступ в потомке. Ограничения на наследование. Конструкторы и деструкторы в наследовании.
26. Множественное наследование и базовые классы. Косвенное и прямое наследование. Принципы вызова конструкторов и деструкторов. Устранение неоднозначности.
27. Виртуальные функции. Отличие виртуальных функций от перегруженных. Механизм вызова.
28. Причины и правила использования чистой виртуальной функции.
29. Применение виртуального механизма: управление объектами классов, модификация базовых классов, виртуальный деструктор. Полиморфизм и позднее связывание.
30. Файловый ввод-вывод с использованием потоков. Используемые классы. Режимы доступа в потоках С++: тип open_mode. Закрытие файла.
31. Текстовые файлы. Посимвольные и построчные чтение и запись. Признак конца файла.
32. Двоичные файлы. Произвольный доступ к элементам файлов.
33. Шаблоны функций: синтаксис, определение и использование. Перегрузка шаблонов функций. Специализация шаблонов функции. Примеры.
34. Шаблоны класса: синтаксис, определение и использование. Специализация шаблонов класса. Примеры.
35. Управление исключениями в С++ и достоинство механизма. Ключевые слова и описание механизма работы. Порядок следования обработчиков исключения. Действия в программе при отсутствии необходимого обработчика исключений. Примеры.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.