User Tools

Site Tools


Sidebar






Old

courses:object_oriented_programming:list

Программа

1. Введение

  1. Объектно-ориентрованный подход
  2. Содержание курса
  3. История ОО языков

2. Структуры и классы

  1. Инкапсуляция
  2. Поля и методы
  3. Права доступа
  4. Определение класса в h, .hpp и в .cpp

3. Создание и разрушение объектов

  1. Конструкторы (с move версиями)
  2. Деструкторы
  3. malloc/free и new/delete
  4. RAII

4. Исключения

  1. Стандартные типы исключений
  2. Стратегии обработки исключений
  3. Исключения в констуркторе / деструкторе

5. Связность объектов

  1. Наследование
  2. Агрегирование
  3. Дружественность
  4. Диаграмма классов

6. Полиморфизм

  1. Переопределение и перегрузка функций
  2. Mock-объекты при использовании интерфейсов
  3. Динамический полиморфизм
  4. RTTI

7. Виды наследования

  1. Одиночное
  2. Множественное
  3. Виртуальное

8. Умные указатели

  1. scoped_ptr
  2. shared_ptr
  3. weak_ptr
  4. intrusive_ptr

9. Перегрузка операторов

  1. Приоритет операций
  2. Какие операторы можно перегружать
  3. Перегрузка &&, ||, ‘,’
  4. Перегрузка [] и ()

10. Шаблоны функций и классов - 1

  1. Вывод шаблонных параметров из аргументов функций
  2. Ленивая компиляция шаблонов
  3. Использование зависимых имён
  4. Наследование шаблонных классов

11. Шаблоны функций и классов - 2

  1. Полная специализация шаблонов
  2. Классы свойств (Traits)
  3. Частичная специализация шаблонов
  4. Статический полиморфизм VS динамический полиморфизм на примере паттерна стратегия

12. Шаблоны функций и классов - 3

  1. Метапрограммирование с использованием шаблонов
  2. SFINAE
  3. С++11 (using вместо typedef в шаблонах, variadic templates)

13. Шаблоны проектирования

  1. Область применения шаблонов
  2. Порождающие паттерны
  3. Структурные паттерны
  4. Поведенческие паттерны
You could leave a comment if you were logged in.
courses/object_oriented_programming/list.txt · Last modified: 2022/12/10 09:08 (external edit)