Экзамены
Весна, 2008
- Наследование классов: абстрактные классы и виртуальные функции.
- Наследование классов: множественное вхождение базового класса.
- Наследование классов: разрешение неоднозначности при множественном наследовании.
- Наследование классов: виртуальные базовые классы.
- Перегрузка операторов: бинарные операторы.
- Перегрузка операторов: унарные операторы.
- Перегрузка операторов: операторы отношения и логические операторы.
- Перегрузка операторов: вызов функции.
- Перегрузка операторов: друзья класса.
- Шаблоны типов: определение и инстанциирование
- Шаблоны типов: параметры шаблонов, эквивалентность и проверка типов.
- Шаблоны типов: использование аргументов шаблонов для выбора алгоритма.
- Шаблоны типов: специализация.
- Шаблоны типов: наследование и шаблоны.
- Шаблоны функций.
- Обработка исключений: инструкции throw/catch.
- Выбор и группировка исключений.
- Спецификации исключений.
- Управление ресурсами. Стратегия «выделение ресурса есть инициализация».
- Стандартные исключения.
- Потоки ввода/вывода: работа со встроенными типами.
- Потоки ввода/вывода: работа с пользовательскими типами.
- Потоки ввода/вывода: состояние потоков и манипуляторы.
- Файловые потоки.
Версия для печати: q2008-spring.pdf (27.05.2008)
Осень, 2007
Список вопросов первого (осеннего) семестра по языку программирования C++:
- Описания в C++. Область видимости и время жизни объектов.
- Смысл типизации данных. Основные типы.
- Производные типы, указатели и массивы. Строки.
- Производные типы, ссылки.
- Производные типы, структуры.
- Явное и неявное преобразование типов.
- Литералы, определение констант.
- Бинарные поля и объединения
- Операции: порядок вычислений.
- Операции: инкремент и декремент.
- Операции: бинарные логические операции.
- Инструкции: объявления и выбирающие инструкции.
- Инструкции: циклы.
- Объявления и определения функций. Аргументы по умолчанию.
- Способы передачи аргументов в функцию и возврата из нее значений.
- Перегрузка функций.
- Функции. Указатель на функцию.
- Средства препроцессора.
- Пространства имен, имена с квалификаторами.
- Пространства имен: using, как объявление и директива.
- Основные концепции OOП.
- Поддержка ООП языком программирования.
- Классы: функции-члены, конструкторы и деструкторы.
- Классы: производные классы, cпецификаторы доступа.
- Классы: наследование, иерархия классов, поля типа.
- Классы: виртуальные функции и абстрактные классы.
- Классы: перегрузка функций и операторов.
- Классы: перегрузка конструкторов. Конструкторы копий.
Версия для печати: q2007-fall.pdf (23.12.2007)
Весна, 2007
Список вопросов второго (весеннего) семестра по языку программирования C++:
- Концепция ООП. Средства ООП в C++
- Типы данных: базовые типы
- Типы данных: массивы и указатели
- Типы данных: структуры
- Конструкторы и деструкторы
- Наследование классов, конструкторы и деструкторы
- Наследование классов, поля типа
- Виртуальные функции
- Абстрактные классы
- Множественное наследование, разрешение неоднозначности
- Виртуальные базовые классы
- Операторы new и delete
- Подставляемые функции (inline)
- Перезагрузка функций и операторов
- Перегрузка конструкторов
- Конструкторы копий
- Аргументы по умолчанию
- Перезагрузка функций и неоднозначность, определение адреса перегруженной функции
- Перегрузка бинарных операторов
- Перегрузка операторов отношения и логических операторов
- Перегрузка унарных операторов
- Перегрузка оператора присваивания и индекса массива
- Шаблоны типов: шаблоны типов для функций
- Шаблоны типов: шаблоны типов для классов
- Шаблоны типов: контейнеры и итераторы
- Шаблоны типов: передача операций как параметров функций
- Шаблоны типов: разрешение перегрузки для шаблонной функции
- Шаблоны типов: реализация списка
- Шаблоны типов: реализация ассоциативного массива
- Потоки: средства ввода данных в C++
- Потоки: средства вывода данных в C++
- Потоки: форматирование данных
- Потоки: манипуляторы
- Потоки: работа с файлами
- Сравнение концепции исключений с классическим подходом обработки ошибок
- Исключения: генерация и перехват исключений
- Исключения: раскрутка стека
- Исключения: спецификация исключений
Версия для печати: q2007.pdf (25.05.2007)
Осень, 2006
Список вопросов первого (осеннего) семестра по языку программирования C:
- Переменные, типы и размеры данных
- Переменные, преобразования типов
- Переменные, классы памяти
- Операторы, приоритет и очередность вычислений
- Операторы (арифметические, инкремент и декремент, присваивания)
- Операторы (логические, условные выражения, побитовые)
- Управляющие структуры: инструкции и блоки
- Управляющие структуры: конструкция if-else, else-if
- Управляющие структуры: переключатель switch
- Управляющие структуры: циклы while и for
- Управляющие структуры: цикл do-while и for
- Управляющие структуры: инструкции break, continue, goto
- Функции, области видимости переменных
- Функции, рекурсия
- Функции, списки аргументов переменной длины
- Директивы препроцессора языка С, включение файла
- Директивы препроцессора языка С, макроподстановка
- Директивы препроцессора языка С, условная компиляция
- Указатели, адресная арифметика
- Указатели, указатели на функции
- Массивы, инициализация массивов, символьные указатели функции, многомерные массивы
- Массивы, массивы указателей, указатели на указатели, сложные объявления
- Структуры, взаимодействие структур с функциями
- Структуры, динамические структуры данных (структуры со ссылками на себя)
- Инструкция typedef
- Битовые поля, объединения
- Ввод-выввод, стандартные функции
- Работа с файлами, стандартные функции
Версия для печати: q2006.pdf (09.12.2006)