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. Mock-объекты при использовании интерфейсов
  3. Динамический полиморфизм
  4. RTTI

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

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

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

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

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

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

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

  1. Вывод шаблонных параметров из аргументов функций
  2. Компиляция шаблонов
  3. SFINAE

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

  1. Частичная специализация
  2. Статический полиморфизм
  3. Использование зависимых имён (использование typename)

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

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

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

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