Классы. Конструкторы, деструктор. Статические методы и поля. Оператор «::».
Перегрузка операторов и функций. Приведение типов, перегрузка оператора приведения типа, эксплицитные конструкторы (explicit).
Потоки ввода-вывода Си++ (<iostream>, <fstream>, <sstream>) и их использование.
Динамическая память. Операторы new и delete. Ссылки. Массивы объектов.
Наследование, модификаторы доступа private, protected, public. Дружественные классы и функции (friend). Полиморфизм, виртуальные функции, виртуальный деструктор. Чисто виртуальные функции, абстрактные классы. Множественное наследование, виртуальное наследование.
Обработка исключений Си++. Ключевые слова try, throw, catch, и их использование.
Использование пространств имен (namespace, using).
Строковые классы Си++ (string) и их использование.
Обобщенное программирование. Шаблоны функций и классов.
Абстракции стандартной библиотеки шаблонов Си++ (контейнеры, итераторы, алгоритмы, функционалы). Основные контейнеры (vector, set, list, deque, map). Работа с основными контейнерами и алгоритмами.
Фундаментальные алгоритмы программирования
Динамические массивы.
Деревья двоичного поиска. Понятие балансировки.
Поиск с хэшированием, хэш-таблицы. Понятие о разрешении коллизий.
Численные методы
Численное решение систем линейных уравнений.
Численное решение дифференциальных уравнений (методы Эйлера, Верле и Рунге-Кутта).
Псевдослучайные числа. Равномерное и нормальное распределения псевдослучайных чисел. Численное интегрирование методом Монте-Карло.
Литература
В.В. Подбельский. «Стандартный Си++» – Москва, Финансы и статистика, 2008, 688 с.