Вопросы № 1-35 к экзамену по курсу «ООП» (Этапы перехода к ООП. Управление исключениями в С++ и достоинство механизма)

Страницы работы

Содержание работы

Вопросы к экзамену по курсу «ООП» для ф-та  ЭТМО  (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.  Управление исключениями в С++ и достоинство механизма. Ключевые слова и описание механизма работы. Порядок следования обработчиков исключения. Действия в программе при отсутствии необходимого обработчика исключений. Примеры.

Похожие материалы

Информация о работе