Объектно-ориентированное программирование. Углубленное изучение. Язык С++
Код курса: DEV-026
Продолжительность:
5 дней (40 часов)
Программа курса
- Механизм RTTI (Run-Time Type Identification)
- Оператор static_cast и указатели.
- Динамическая идентификация типа.
Подключение RTTI. - Оператор typeid и класс type_info.
- Оператор dynamic_cast.
- Исключения
- Что такое исключительные ситуации.
- Способы отслеживания «аварийных» ситуаций.
- Обработка исключений: встроенные средства С++ для обработки исключений — операторы try,catch, throw. Непредусмотренные исключения.
- Стандартные типа исключения.
- Спецификация исключений при объявлении функций.
- Обобщенное программирование
- Шаблоны. Объявление шаблона.
- Инстанцирование шаблона.
Обобщенное программирование. Обобщенные алгоритмы. - Шаблоны функций.
- Способы обобщения функций, выполняющих одинаковые действия, но оперирующих данными разных типов. Создание функции по заданному шаблону и ее вызов.
- Шаблоны классов. Ключевое слово typename.
- Стандартная библиотека шаблонов.
- Контейнеры, алгоритмы и итераторы. Виды контейнеров STL.
- Структура стандартного контейнера. Обзор членов стандартного шаблона. Что же такое итераторы? Распределители памяти — шаблон allocator.
- Краткий обзор стандартных контейнеров. Вектор (vector). Список (list).
- Очереди с двумя концами — deque.
- Почти контейнеры: встроенные массивы, string, valarray, bitset.
- Обобщенные алгоритмы стандартной библиотеки
- Рассмотрение наиболее часто используемых обобщенных алгоритмов.
- Алгоритмы, модифицирующие и немодифицирующие последовательности. Предикаты.
- Использование объектов – функций в качестве предикатов.
- Базовые классы STL для объектов-функций. Когда следует использовать шаблоны.
- Потоки ввода/вывода
- Система ввода-вывода С++. Поток С++ с точки зрения системы. Поток С++ с точки зрения прикладной программы.
- Классы ввода/вывода. Стандартные объекты cin и cout. Буферизованный ввод/вывод.
- Состояние потока.
- Форматированный ввод/вывод. Флаги ввода/вывода и методы для работы с ними.
- Манипуляторы ввода/вывода. Файловый ввод/вывод.
- Неформатированный ввод/вывод.
- Практика 1 — RTTI
- Реализация двухсвязного разнородного объектно-ориентированного списка.
- Оператор typeid и класс type_info. Оператор dynamic_cast.
- Практика 2 — Исключения. Разработка собственных шаблонов
- Операторы try, catch, throw.
- Шаблоны функций.
- Шаблоны классов.
- Практика 3 — Шаблоны стандартной библиотеки. Итераторы
- Шаблон vector.
- Шаблон list.
- Итераторы.
- Обобщенные алгоритмы
- Алгоритмы стандартной библиотеки.
- Предикаты.
Расписание
Время проведения курса пока не определено, отправьте нам заявку, пожалуйста.
Возможно, мы предложим пройти курс в дистанционном режиме или организуем выездной курс, если у Вас группа.