1. Введение в объектно-ориентированное программирование.
  2. Классы в C++. Инкапсуляция.
    1. Новый тип данных - класс.
    2. Доступность компонентов класса.
    3. Конструкторы и деструкторы.
    4. Компоненты-данные и компоненты-функции.
    5. Указатели на компоненты класса.
    6. Указатель this.
    7. Друзья классов.
  3. Наследование. Полиморфизм.
    1. Определение производного класса.
    2. Конструкторы и деструкторы производных классов.
    3. Виртуальные функции.
    4. Абстрактные классы.
    5. Включение объектов.
    6. Включение и наследование.
    7. Множественное наследование.
    8. Локальные и вложенные классы.
  4. Перегрузка операций.
    1. Перегрузка унарных операций.
    2. Перегрузка бинарных операций.
    3. Перегрузка операций ++ и --.
    4. Перегрузка операции вызова функции.
    5. Перегрузка операции присваивания.
    6. Перегрузка операции new.
    7. Перегрузка операции delete.
    8. Основные правила перегрузки операций.
  5. Шаблоны.
    1. Шаблоны функций.
    2. Параметры шаблонов.
    3. Шаблоны классов.
    4. Smart-указатель.
    5. Задание свойств класса
  6. Исключения.
    1. Применение try, catch, throw.
    2. Синтаксис и семантика генерации и обработки исключений.
    3. Обработка исключений при динамическом выделении памяти.
    4. Функции, глобальные переменные и классы поддержки механизма исключений
    5. Конструкторы и деструкторы в исключениях.
  7. События.
    1. Объектно-ориентированная программа как программа, управляемая событиями.
    2. Событие.
    3. Методы обработки событий.
    4. Главный цикл обработки событий (метод Execute).
    5. Пример обработки событий.
  8. Пространства имен и приведение типов.
    1. Пространство имен.
    2. Операторы приведения типов.
  9. Потоковые классы.
    1. Понятие потока.
    2. Потоковые классы в С++.
    3. Базовые потоки ввода-вывода.
    4. Форматирование.
    5. Манипуляторы.
    6. Состояние потока.
    7. Файловый ввод-вывод.
  10. Стандартная библиотека шаблонов (STL)
  11. Основы UML
    1. Краткая история UML.
    2. Значение моделирования.
    3. Принципы моделирования.
    4. Объектное моделирование.
    5. Обзор UML.
    6. Концептуальная модель UML.
    7. Правила языка UML.
    8. Общие механизмы языка UML.
    9. Архитектура.
    10. Жизненный цикл разработки ПО.
    11. Пример: Здравствуй, мир!.