User Tools

Site Tools


Sidebar






Old

courses:object_oriented_programming:lectures

This is an old revision of the document!


Программа

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. Вывод шаблонных параметров из аргументов функций
  2. Ленивая компиляция шаблонов
  3. Использование зависимых имён
  4. Наследование шаблонных классов

11. Частичная специализация шаблонов

  1. Частичная специализация
  2. Статический полиморфизм
  3. Необходимость typename
  4. SFINAE

12. Стиль кодирования

  1. Советы по разработке понятного кода
  2. Важность константности
courses/object_oriented_programming/lectures.1494246575.txt.gz · Last modified: 2022/12/10 09:08 (external edit)