У нас вы можете посмотреть бесплатно НАСЛЕДОВАНИЕ в C++ | большая часть того, что вам нужно знать для ООП и не только 🚀 или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Помогите мне продолжать делать эти видео! Этот проект работает только благодаря вашей поддержке! Вы можете продемонстрировать это одним из следующих способов: 📚 Начать БЕСПЛАТНЫЙ пробный период Audible: https://www.audibletrial.com/CodeForY... 🛍️ Купить оборудование, которое я использую для создания этого видео: https://github.com/cpp-for-yourself/s... 💶 Стать спонсором напрямую на GitHub: https://github.com/sponsors/niosus 📺 Смотреть мои видео до конца и оставлять комментарии ⁉️ Найти свой способ поддержать эту работу можно здесь: https://github.com/cpp-for-yourself/s... В этом видео мы рассмотрим большинство моментов, с которыми можно столкнуться при работе с наследованием в современном C++. Мы рассмотрим широкий список тем, начиная с того, почему нам важно наследование (осторожно, спойлер: для обеспечения динамического полиморфизма), и углубляясь в то, как оно сочетается с наследованием реализации (не очень удачно), что такое срез объекта и что нужно учитывать, если мы хотим использовать наследование и принять семантику ссылок. 📚 Ссылка на скрипт к этому видео на GitHub: https://github.com/cpp-for-yourself/s... 🔗 Ссылки ⏺ Избегайте защищённых данных: https://isocpp.github.io/CppCoreGuide... ⏺ CRTP: https://en.wikipedia.org/wiki/Curious... ⏺ Трейт is_integral: https://en.cppreference.com/w/cpp/typ... ⏺ Трейт integral_constant: https://en.cppreference.com/w/cpp/typ... ⏺ Таблица виртуальных методов: https://en.wikipedia.org/wiki/Virtual... ⏺ Виртуальный деструктор: https://en.cppreference.com/w/cpp/lan... ⏺ Нарезка объектов: https://www.learncpp.com/cpp-tutorial... ⏺ Полиморфные объекты: https://en.cppreference.com/w/cpp/lan... ⏺ Принцип подстановки Лисков: https://en.wikipedia.org/wiki/Liskov_... ⏺ Различие между наследованием реализации и интерфейса: https://isocpp.github.io/CppCoreGuide... ⏺ Google Style о наследовании: https://google.github.io/styleguide/c... ⏺ Наследование реализаций — зло: http://whats-in-a-game.com/implementa... ⏺ Используйте множественное наследование для интерфейсов: https://isocpp.github.io/CppCoreGuide... Содержание 00:00 Введение 00:40 Принцип инверсии зависимостей Мотивация 03:06 Принцип инверсии зависимостей 05:29 Можно ли использовать шаблоны для инверсии зависимостей? 05:55 Основы наследования реализаций 07:30 Управление доступом при наследовании 10:23 Восходящее приведение типов 11:27 Когда использовать наследование реализаций 13:20 Динамический полиморфизм с использованием виртуальных типов 14:20 Таблица виртуальных методов (vtable) 15:39 Недостатки использования виртуальных типов 16:30 Виртуальный деструктор и зачем он нужен 17:54 Правило «всё или ничего» и ссылочная симантика 18:34 Срез объектов 19:20 Понижающее приведение типов с использованием dynamic_cast 21:05 Чисто виртуальные функции, абстрактные классы и интерфейсы 22:03 Ключевое слово final 22:59 Множественное наследование и когда его использовать 23:34 Последний пример хорошего стиля и резюме Благодарности ⏺ Видео Тимы Мирошниченко: https://www.pexels.com/video/two-youn... ⏺ Видео Мати Манго: https://www.pexels.com/video/a-man-ha... ⏺ Видео freepik: https://www.freepik.com/free-video/st... ⏺ Тикающий звук: https://freesound.org/people/bySeb/so... #cpp #cplusplus #программирование #кодирование #разработка ПО #образование