Вопросы на экзамен

Вопросы к экзамену по программированию, 1-й курс, 2 семестр, С++

  1. Строки в С, С++. Организация данных, ввод – вывод, стандартные функции.
  2. Тип данных – структуры (struct).
  3. Классы и объекты. Описание, обращение к членам класса.
  4. Инкапсуляция. Способы ограничения доступа к членам класса.
  5. Переопределение функций (методов) в С++.
  6. Конструкторы и деструкторы. Описание, назначение, использование.
  7. Inline – методы.
  8. Переопределение операторов в  С++.
  9. Дружественные функции.
  10. Использование модификатора const при описании функции.
  11. Ключевое слово this при работе с объектами.
  12. Наследование: описание, модификаторы наследования.
  13. Наследование: правило присваивания объектов.
  14. Наследование: конструкторы и деструкторы при наследовании.
  15. Наследование: использование кода предка при переопределении методов наследника.
  16. Виртуальные функции.
  17. Полиморфизм.
  18. Конструктор копирования.
  19. Переопределение операции присваивания.
  20. Абстрактные классы и чисто виртуальные функции.
  21. Макросы в языке С.
  22. Заголовочные файлы и файлы реализации.
  23. Шаблоны для функций и классов.
  24. Обработка исключительных ситуаций в С++.
  25. Использование указателей на функцию.
  26. Битовая арифметика.
  27. Линейный список, особенности реализации  и основные операции (создание, проверка на пустоту, добавление элемента, удаление элемента, удаление списка ).
  28. Стек. Принципы работы. Реализация основных операций (создание, проверка на пустоту, добавление элемента, удаление элемента, удаление списка) на основе линейного списка.
  29. Стек. Принципы работы. Реализация основных операций (создание, проверка на пустоту, добавление элемента, удаление элемента, удаление списка) на основе массива.
  30. Очередь. Принципы работы. Реализация основных операций (создание, проверка на пустоту, добавление элемента, удаление элемента, удаление списка) на основе линейного списка.
  31. Очередь. Принципы работы. Реализация основных операций (создание, проверка на пустоту, добавление элемента, удаление элемента, удаление списка) на основе массива.

 

Проверяемые умения:

1)      Классы и объекты

a)      Проектирование классов под конкретную задачу

b)      Использование конструкторов (и при необходимости деструкторов)

c)       Переопределение операторов, в том числе ввода-вывода

2)      Битовая арифметика

a)      Применение побитовых операций для работы с отдельным битом

b)      Уметь реализовать любую операцию со множеством – классом set.

3)      Динамические структуры данных:  умение реализовать любую операцию из тех, что рассматривались с любым типом данных, который рассматривался (список, стек очередь).