Вопросы к экзамену по курсу «Программирование».

1.  Объявление функции. Определение функции. Вызов функции.

2.  Указатели.

3.  Преобразование типов указателей.

4.  Операторы определения адреса и обращения по адресу.

5.  Указатели на константы и константные указатели.

6.  Арифметические действия с указателями.

7.  Одномерные массивы. Многомерные массивы.

8.  Строки символов. Основные функции для работы со строками.

9.  Перечисления.

10.  Структуры.

11.  Объединения.

12.  Битовые поля.

13.  Тип данных bool. Тип данных wchar_t.

14.  Способы передачи параметров в подпрограммы (по значению, адресу, ссылке).

15.  Операторы распределения памяти.

16.  Объявление typedef.

17.  Оператор sizeof.

18.  Передача аргументов по умолчанию.

19.  Встроенные функции.

20.  Перегрузка функций.

21.  Определение пространства имён.

22.  Оператор разрешения области видимости.

23.  Объявление using. Директива using. Псевдонимы.

24.  Механизм обработки исключений.

25.  Перехват исключений любого типа. Вложенные исключения.

26.  Определение класса. Объекты.

27.  Указатель this. Спецификаторы доступа к членам класса.

28.  Друзья класса.

29.  Конструктор класса. Список инициализации.

30.  Конструктор по умолчанию.

31.  Конструктор копирования.

32.  Явный вызов конструкторов.

33.  Деструкторы.

34.  Встроенные функции–члены класса. Статические члены класса.

35.  Функции-члены класса с квалификаторами const и volatile.

36.  Вложенные классы. Локальные классы.

37.  Общие правила перегрузки операторов.

38.  Перегрузка оператора присваивания.

39.  Перегрузка оператора индексирования [].

40.  Перегрузка унарных операторов.

41.  Перегрузка операторов инкремента и декремента (++, --).

42.  Перегрузка бинарных операторов.

43.  Перегрузка составных операторов присваивания.

44.  Перегрузка оператора вызова функции.

45.  Перегрузка операторов >> и << для ввода/вывода.

46.  Операторы преобразования типов (конверторы).

47.  Структура данных – стек.

48.  Структура данных – очередь.

49.  Структура данных – деревья.

50.  Наследование

51.  Доступ к членам наследуемого класса

52.  Конструкторы, деструкторы и наследование

53.  Наследование и присваивание.

54.  Виртуальные функции.

55.  Полиморфизм и позднее связывание.

56.  Передача аргументов по умолчанию в виртуальные функции.

57.  Виртуальные деструкторы.

58.  Абстрактные классы.

59.  Множественное наследование.

60.  Виртуальное наследование.