courses:object_oriented_programming:lectures

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
courses:object_oriented_programming:lectures [2017/05/22 18:39]
kalishenko
courses:object_oriented_programming:lectures [2017/05/29 14:09]
nplohoy
Line 1: Line 1:
-====== ​Программа ====== +====== ​Материалы лекций ======
-===== 1. Введение ===== +
-  - Объектно-ориентрованный подход +
-  - Содержание курса +
-  - История ОО языков+
  
-===== 2Структуры и классы ===== +1{{ :​courses:​object_oriented_programming:​lecture_1_c_and_c_.ppt |Введение}}
-  - Инкапсуляция +
-  - Поля и методы +
-  - Права доступа +
-  - Определение ​класса в h, .hpp и в .cpp+
  
-===== 3. Создание и разрушение объектов ===== +2{{ :​courses:​object_oriented_programming:​lecture_2_structures_and_classes_.pptx |Структуры ​и классы}}
-  - Конструкторы (с move версиями) +
-  - Деструкторы +
-  - malloc/free и new/​delete +
-  - RAII+
  
-===== 4Исключения ===== +3{{ :​courses:​object_oriented_programming:​lecture_3_constructors_destructors_.pptx |Создание и разрушение объектов}}
-  - Стандартные типы исключений +
-  - Стратегии обработки исключений +
-  - Исключения в констуркторе / деструкторе+
  
-===== 5Связность объектов ===== +4{{ :​courses:​object_oriented_programming:​lecture_4_exceptions_.pptx |Исключения}} 
-  - Наследование +
-  - Агрегирование +
-  - Дружественность  +
-  - Диаграмма классов+
  
-===== 6Полиморфизм ===== +5{{ :​courses:​object_oriented_programming:​lecture_5_class_relations_.pptx |Связность ​объектов}} 
-  - Переопределение и перегрузка функций +
-  - Mock-объекты при использовании интерфейсов +
-  - Динамический полиморфизм +
-  - RTTI+
  
-===== 7. Виды наследования ​===== +6{{ :​courses:​object_oriented_programming:​lecture_6_inheritance_.pptx |Виды наследования}} 
-  ​- Одиночное +   
-  - Множественное +7{{ :​courses:​object_oriented_programming:​lecture_7_smart_pointers_.pptx |Умные указатели}} 
-  - Виртуальное +   
- +8{{ :​courses:​object_oriented_programming:​lecture_8_operators_overloading_.pptx |Перегрузка операторов}} 
-===== 8. Умные указатели ​===== +   
-  ​- scoped_ptr +9. {{ :​courses:​object_oriented_programming:​lecture_9_templates_.pptx ​|Шаблоны функций и классов}} 
-  - shared_ptr +   
-  - weak_ptr +11. [[https://​refactoring.guru/​ru/​design-patterns|Шаблоны проектирования]]
-  - intrusive_ptr ​  +
- +
-===== 9. Перегрузка операторов ​===== +
-  ​- Приоритет операций +
-  - Какие операторы можно перегружать +
-  - Перегрузка &&, ​||, ‘,’ +
-  - Перегрузка [] и () +
- +
-===== 10. Шаблоны функций и классов ​- 1 ===== +
-  ​- Вывод шаблонных параметров из аргументов функций +
-  - Ленивая компиляция шаблонов +
-  - Использование зависимых имён +
-  - Наследование шаблонных классов +
- +
-===== 11. Шаблоны ​функций и классов - 2 ===== +
-  - Полная специализация шаблонов +
-  - Классы свойств (Traits) +
-  - Частичная специализация шаблонов +
-  - Статический полиморфизм VS динамический полиморфизм на примере паттерна стратегия +
- +
-===== 12. Шаблоны функций и классов - 3 ===== +
-  - Метапрограммирование с использованием шаблонов +
-  - SFINAE +
-  - С++11 (using вместо typedef в шаблонах,​ variadic templates) +
- +
- +
-===== 13. Стиль кодирования ​===== +
-  - Советы по разработке понятного кода +
-  - Важность константности+
  
 ~~DISCUSSION~~ ~~DISCUSSION~~
courses/object_oriented_programming/lectures.txt · Last modified: 2022/12/10 09:08 (external edit)