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
courses:object_oriented_programming:lectures [2017/05/22 09:23]
isudakov [11. Cпециализация шаблонов]
courses:object_oriented_programming:lectures [2022/12/10 09:08] (current)
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 |Виды наследования}} 
 +  - {{ :​courses:​object_oriented_programming:​lecture_7_smart_pointers_.pptx |Умные ​указатели}} 
 +  - {{ :​courses:​object_oriented_programming:​lecture_8_operators_overloading_.pptx |Перегрузка операторов}} 
 +  - {{ :​courses:​object_oriented_programming:​lecture_9_templates_.pptx |Шаблоны функций ​и классов}} 
 +  - [[https://​refactoring.guru/​ru/​design-patterns|Шаблоны проектирования]]
  
-===== 3. Создание и разрушение объектов ===== 
-  - Конструкторы (с move версиями) 
-  - Деструкторы 
-  - malloc/free и new/delete 
-  - RAII 
- 
-===== 4. Исключения ===== 
-  - Стандартные типы исключений 
-  - Стратегии обработки исключений 
-  - Исключения в констуркторе / деструкторе 
- 
-===== 5. Связность объектов ===== 
-  - Наследование 
-  - Агрегирование 
-  - Дружественность ​ 
-  - Диаграмма классов 
- 
-===== 6. Полиморфизм ===== 
-  - Переопределение и перегрузка функций 
-  - Mock-объекты при использовании интерфейсов 
-  - Динамический полиморфизм 
-  - RTTI 
- 
-===== 7. Виды наследования ===== 
-  - Одиночное 
-  - Множественное 
-  - Виртуальное 
- 
-===== 8. Умные указатели ===== 
-  - scoped_ptr 
-  - shared_ptr 
-  - weak_ptr 
-  - intrusive_ptr  ​ 
- 
-===== 9. Перегрузка операторов ===== 
-  - Приоритет операций 
-  - Какие операторы можно перегружать 
-  - Перегрузка &&, ||, ‘,’ 
-  - Перегрузка [] и () 
- 
-===== 10. Шаблоны функций и классов ===== 
-  - Вывод шаблонных параметров из аргументов функций 
-  - Ленивая компиляция шаблонов 
-  - Использование зависимых имён 
-  - Наследование шаблонных классов 
- 
-===== 11. Cпециализация шаблонов ===== 
-  - Полная специализация шаблонов 
-  - Классы свойств (Traits) 
-  - Частичная специализация шаблонов 
-  - Статический полиморфизм VS динамический полиморфизм на примере паттерна стратегия 
-  - Метапрограммирование с использованием шаблонов 
-  - SFINAE 
-  - С++11 (using вместо typedef в шаблонах,​ variadic templates) 
- 
-===== 12. Стиль кодирования ===== 
-  - Советы по разработке понятного кода 
-  - Важность константности 
- 
-~~DISCUSSION~~ 
courses/object_oriented_programming/lectures.1495444999.txt.gz · Last modified: 2022/12/10 09:08 (external edit)