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/06/28 21:50]
kalishenko
Line 1: Line 1:
-====== ​Программа ====== +====== ​Материалы лекций ======
-===== 1. Введение ===== +
-  - Объектно-ориентрованный подход +
-  - Содержание курса +
-  - История ОО языков+
  
-===== 2. Структуры и классы ​===== +  - {{ :​courses:​object_oriented_programming:​lecture_1_c_and_c_.ppt |Введение}} 
-  - Инкапсуляция +  - {{ :​courses:​object_oriented_programming:​lecture_2_structures_and_classes_.pptx |Структуры и классы}} 
-  - Поля и методы +  - {{ :​courses:​object_oriented_programming:​lecture_3_constructors_destructors_.pptx |Создание и разрушение объектов}} 
-  - Права доступа +  - {{ :​courses:​object_oriented_programming:​lecture_4_exceptions_.pptx |Исключения}}  
-  - Определение класса в h, .hpp и в .cpp +  - {{ :​courses:​object_oriented_programming:​lecture_5_class_relations_.pptx |Связность объектов}}  
- +  - {{ :​courses:​object_oriented_programming:​lecture_6_inheritance_.pptx |Виды наследования}} 
-===== 3. Создание и разрушение объектов ​===== +  - {{ :​courses:​object_oriented_programming:​lecture_7_smart_pointers_.pptx |Умные указатели}} 
-  - Конструкторы (с move версиями) +  - {{ :​courses:​object_oriented_programming:​lecture_8_operators_overloading_.pptx |Перегрузка операторов}} 
-  - Деструкторы +  - {{ :​courses:​object_oriented_programming:​lecture_9_templates_.pptx ​|Шаблоны функций и классов}} 
-  - malloc/free и new/​delete +  - [[https://​refactoring.guru/​ru/​design-patterns|Шаблоны проектирования]]
-  - RAII +
- +
-===== 4. Исключения ​===== +
-  - Стандартные типы исключений +
-  - Стратегии обработки исключений +
-  - Исключения в констуркторе / деструкторе +
- +
-===== 5. Связность объектов ​===== +
-  - Наследование +
-  - Агрегирование +
-  - Дружественность  +
-  - Диаграмма классов +
- +
-===== 6. Полиморфизм ===== +
-  - Переопределение и перегрузка функций +
-  - Mock-объекты при использовании интерфейсов +
-  - Динамический полиморфизм +
-  - RTTI +
- +
-===== 7. Виды наследования ​===== +
-  - Одиночное +
-  - Множественное +
-  - Виртуальное +
- +
-===== 8. Умные указатели ​===== +
-  - scoped_ptr +
-  - shared_ptr +
-  - weak_ptr +
-  - 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)