background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок #113"

input logo icon
"videoThumbnail Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок #113
Похожие ролики из нашего каталога
|

Похожие ролики из нашего каталога

Передача параметров в функцию по значению. Параметры функции. Передача аргументов в функцию. #34
11:04

Передача параметров в функцию по значению. Параметры функции. Передача аргументов в функцию. #34

Канал: #SimpleCode
Ключевое слово break. Оператор break. Описание. Пример. Синтаксис. Урок #18.
7:43

Ключевое слово break. Оператор break. Описание. Пример. Синтаксис. Урок #18.

Канал: #SimpleCode
Найти минимальный элемент массива. Поиск минимального элемента в массиве. C++ для начинающих. ДЗ#8.
9:00

Найти минимальный элемент массива. Поиск минимального элемента в массиве. C++ для начинающих. ДЗ#8.

Канал: #SimpleCode
Что такое null pointer. null c++ что это. nullptr c++ что это. nullptr c++11. Урок #54
13:29

Что такое null pointer. null c++ что это. nullptr c++ что это. nullptr c++11. Урок #54

Канал: #SimpleCode
Не могу написать программу! Что делать! Как начать писать код!
19:51

Не могу написать программу! Что делать! Как начать писать код!

Канал: #SimpleCode
Что такое динамическая память. Утечка памяти. Стек и куча. Статическая память. Обзорный урок #45
13:04

Что такое динамическая память. Утечка памяти. Стек и куча. Статическая память. Обзорный урок #45

Канал: #SimpleCode
Видеоуроки по Arduino #2.1: Кнопки, PWM / ШИМ, функции
11:40

Видеоуроки по Arduino #2.1: Кнопки, PWM / ШИМ, функции

Канал: AmperkaRu
C++ закрывается консоль. Что делать?  Задержка экрана консоли. Урок #21.
2:15

C++ закрывается консоль. Что делать? Задержка экрана консоли. Урок #21.

Канал: #SimpleCode
C# статические поля класса | как работает ключевое слово static | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ # 63
11:44

C# статические поля класса | как работает ключевое слово static | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ # 63

Канал: #SimpleCode
КАК НАРИСОВАТЬ ТРЕУГОЛЬНИК В КОНСОЛИ C# | C# ДОМАШНИЕ ЗАДАНИЯ | #5
23:24

КАК НАРИСОВАТЬ ТРЕУГОЛЬНИК В КОНСОЛИ C# | C# ДОМАШНИЕ ЗАДАНИЯ | #5

Канал: #SimpleCode
Теги видео
|

Теги видео

программирование
как научится программировать с нуля
как научится программировать
для начинающих
c++
для новичков
уроки
visual studio 2017 уроки
visual studio
программист обучение
#SimpleCode
как стать программистом
что такое интерфейс ооп
нтерфейс c++ пример
что такое интерфейс c++
что такое интерфейс java
что такое интерфейс c#
интерфейсы ооп
интерфейс ооп пример
зачем нужны интерфейсы
как использовать интерфейсы
интерфейсы в ооп
что такое интерфейсы в ооп
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:02
мы с вами изучаем программирование на
00:00:03
примере языка си плюс плюс
00:00:05
и сегодня у нас будет очень важная тема
00:00:08
в объектно-ориентированном
00:00:09
программировании а именно интерфейсы
00:00:13
тема интерфейсов для новичков может быть
00:00:15
очень сложно и и тут все дело в том что
00:00:18
вообще само определение интерфейса в
00:00:20
источниках настолько корявая что даже
00:00:23
сейчас прочитав то же самое определение
00:00:25
из википедии я я бы не понял что там
00:00:28
написано ну и к тому же новичок принципе
00:00:30
не понимает даже если поймет что такое
00:00:34
интерфейсы то есть как он реализуется он
00:00:36
не понимает зачем он нужен
00:00:37
поэтому мы с вами зайдем немножечко с
00:00:39
другой стороны сначала мы рассмотрим
00:00:41
понятие интерфейса с точки зрения
00:00:43
реальной жизни
00:00:44
затем посмотрим реальный пример когда бы
00:00:47
нам это могло понадобиться
00:00:49
и вы поймете что это очень полезно и
00:00:51
удобно ну а также посмотрим на некоторые
00:00:54
особенности интерфейсов языке си плюс
00:00:57
плюс и забегу немножко наперед скажу что
00:01:00
такой особенностью является то что
00:01:02
формально языки си плюс плюс интерфейса
00:01:06
в нету то есть такое ключевое слово как
00:01:08
интерфейс в чистом си плюс плюс вообще
00:01:10
не используется но это не значит что мы
00:01:12
не можем такой интерфейс реализовать или
00:01:14
использовать его минимальный набор
00:01:16
знаний для понимания темы интерфейсов
00:01:18
который вам понадобится это наследование
00:01:22
это множественное наследование
00:01:24
абстрактный класс
00:01:27
виртуальные методы и переопределения
00:01:30
виртуальных методов ссылки на все нужно
00:01:32
тема вы как всегда найдете внизу в
00:01:34
описании под этим видео подойдем к
00:01:36
пониманию интерфейсов вот с какой
00:01:39
стороны наверное все из вас знают что
00:01:42
один раз человек научившись кататься на
00:01:45
велосипеде
00:01:46
больше не забудет как это делать и даже
00:01:50
через много лет все в на велосипед даже
00:01:53
на какой-то другой велосипед ведь
00:01:55
велосипеды бывают разные бывают самые
00:01:58
простейшие велосипед бывает там всякие
00:02:00
bay миксы
00:02:01
горные
00:02:02
спортивные так вот велосипеды бывают
00:02:06
разных типов но человеку все равно он в
00:02:10
принципе может ездить на любом из них
00:02:12
потому что он уже освоил навык езды на
00:02:17
велосипеде то есть наш человек освоил
00:02:22
интерфейс управлении велосипедом к
00:02:25
примеру если мы представим наш велосипед
00:02:26
как класс в объектно-ориентированном
00:02:29
программировании
00:02:30
опускай там будут методы крутить педали
00:02:33
крутить руль и ехать ну и соответственно
00:02:36
так как мы должны как-то с этим
00:02:39
велосипедом взаимодействовать то эти
00:02:41
методы должны быть публичными то есть
00:02:43
доступными извне так вот интерфейс в
00:02:49
программировании это фактически те
00:02:51
публичные методы с помощью которых вы
00:02:54
можете взаимодействовать с какой-то
00:02:57
сущностью если мы к примеру вспомним
00:02:59
кофемолку о которой я говорил самом
00:03:01
начале объектно-ориентированном
00:03:02
программировании то там тоже будут
00:03:04
публичные методы и один из них будет
00:03:07
засыпать кофе
00:03:08
другой метод молоть кофе и вот вам
00:03:12
пожалуйста интерфейс взаимодействия с
00:03:14
кофемолкой вернемся к нашему велосипеду
00:03:16
я не зря сделал акцент на том что один
00:03:20
раз человек научившись ездить на
00:03:23
велосипеде может ездить на велосипеде
00:03:25
фактически любого типа потому что у всех
00:03:27
велосипедов есть один и тот же тип
00:03:30
интерфейса
00:03:31
а всех велосипедах нам нужно крутить
00:03:33
педали крутить руль ну и соответственно
00:03:35
таким образом мы можем ехать а это
00:03:38
значит что любой объект который
00:03:42
реализует интерфейс велосипеда то есть у
00:03:45
которого мы можем покрутить руль у
00:03:47
которого мы можем покрутить педали и
00:03:49
ехать на нем может использовать наш
00:03:51
человек потому что он умеет использовать
00:03:54
этот интерфейс
00:03:55
вспомнить этот пример когда я вам
00:03:57
говорил о классе рэпом и его наследниках
00:04:01
там где мы с вами изучали абстрактный
00:04:04
класс и виртуальные методы их
00:04:07
переопределения
00:04:08
логика там очень подобная и там очень
00:04:11
много общего далее вы поймете почему так
00:04:14
но программирование существует еще
00:04:16
другие ситуации примеру я ситуация
00:04:18
реально существующая
00:04:20
представьте что мы с вами разрабатываем
00:04:22
какой-то программное обеспечение и нам
00:04:25
нужно каким-то образом организовать
00:04:27
взаимодействие с базой данных
00:04:29
но мы с вами заранее не знаем какая база
00:04:32
данных у нас будет microsoft security
00:04:36
может быть масик юэль или может быть
00:04:39
firebird 0 еще какая-нибудь любая другая
00:04:42
база но нам нужно учитывать то что
00:04:45
конечный пользователь захочет
00:04:47
использовать
00:04:48
с нашим программным обеспечением
00:04:50
абсолютно любой вид этих баз данных и к
00:04:53
примеру нам нужно считывать информацию
00:04:55
из таких баз данных мы пока ещё с вами
00:04:58
не проходили сиквеле но нам этой
00:05:00
принципиально важно то что нам для того
00:05:03
чтобы работать с каждой базой данных
00:05:06
придется для каждого такого
00:05:08
взаимодействия писать новую реализацию
00:05:10
каждый раз мы должны писать новый метод
00:05:13
обработки такой базы данных если у нас к
00:05:16
примеру есть вывод на дисплей
00:05:18
каких-то данных из любой из этих баз
00:05:21
данных то нам и метод вывода на дисплей
00:05:24
для каждой базы данных нужно будет
00:05:27
писать свой но если у нас каждая из этих
00:05:30
баз данных реализовывает какой-то общий
00:05:33
интерфейс
00:05:34
но как с велосипедом да ну к примеру мы
00:05:37
знаем что каждая из этих баз данных
00:05:40
реализовывать метод рид то есть чтения
00:05:43
мы можем написать
00:05:46
метод который будет выводить данные на
00:05:48
экран таким образом чтобы ему было
00:05:50
абсолютно все равно
00:05:52
с какой базой он взаимодействует лишь бы
00:05:54
то базы реализовывала интерфейс которой
00:05:56
есть метод ride
00:05:57
вот зачем нужна интерфейс если вы сейчас
00:05:59
чего-то не поняли то не переживайте мы с
00:06:02
вами посмотрим реализацию на примере с
00:06:04
велосипедами но чтобы уже было предельно
00:06:06
ясно теперь давайте с вами обсудим как
00:06:08
это все можно реализовать с помощью кода
00:06:11
в начале этого урока я вам сказал что в
00:06:14
чистом языке си плюс плюс ключевого
00:06:16
слова интерфейс вообще нету в отличие к
00:06:20
примеру от java и
00:06:22
и того же сишарп но в java и сишарп нету
00:06:25
множественного наследования
00:06:27
а все плюсах она есть поэтому в принципе
00:06:29
для си плюсов наличие какого-то
00:06:31
специального ключевого слова для того
00:06:34
чтобы реализовать интерфейс
00:06:35
не требуется ведь по сути что такое
00:06:39
интерфейс это только некая
00:06:41
договоренность о том как можно с чем-то
00:06:44
взаимодействовать примеру чтобы
00:06:46
взаимодействовать любым типом велосипеда
00:06:48
ну следуя этой логике которой мы
00:06:51
говорили ранее но нужно либо крутить
00:06:53
педали либо крутить руль либо ехать
00:06:56
таким образом как бы создавать экземпляр
00:06:59
самого интерфейса нам не нужно потому
00:07:03
что если мы не знаем от чего это
00:07:06
интерфейс то мы не знаем как это
00:07:09
работает это по сути некая абстрактность
00:07:13
к примеру мы знаем что наш человек может
00:07:17
взаимодействовать какой-то фиговиной у
00:07:19
которой можно покрутить руль покрутить
00:07:21
педали и на которой можно ехать но нам
00:07:25
абсолютно все равно что это будет за
00:07:26
фиговина если она реализует этот
00:07:29
интерфейс то наш человек не пользоваться
00:07:32
может вот такая вот логика напоминает
00:07:34
работу абстрактных классов мы уже с вами
00:07:37
говорили что такое абстрактные классы
00:07:39
абстрактным классом языке си плюс плюс
00:07:43
является тот класс в котором есть хотя
00:07:45
бы один чисто виртуальный метод так вот
00:07:48
интерфейс это по сути тот самый
00:07:51
абстрактный класс
00:07:52
но в котором все методы чистки
00:07:56
виртуальные то есть в интерфейсе не
00:07:59
может быть никакой реализации ну потому
00:08:01
что мы не знаем что это будет такое у
00:08:03
чего можно покрутить руль у чего можно
00:08:06
покрутить педали на чем можно ехать
00:08:08
принципе это может быть какое-то
00:08:10
табуретка за рулем с педалями и с
00:08:12
колесами но мы все равно на этом сможем
00:08:14
ехать потому что она реализовывает
00:08:17
интерфейсе велосипеда ну давайте с вами
00:08:20
уже приступим к практике и реализуем
00:08:23
такой интерфейс
00:08:24
хотя я и говорю интерфейс но в си плюс
00:08:27
плюс мы с вами пишем класс
00:08:29
ведь как я сказал отдельного ключевого
00:08:32
слова для интерфейса тут нету
00:08:34
в отличие от java сишарпа но так как это
00:08:36
интерфейс я назову вас большой буквы ой
00:08:39
ну а так как мы в принципе с вами
00:08:41
договаривались что это будет интерфейс
00:08:43
велосипеда назовем его ой басика мы с
00:08:46
вами знаем что наш велосипед должен
00:08:50
ехать
00:08:51
у него мы можем покрутить и ролик и у
00:08:54
него мы можем покрутить педали
00:08:55
давайте с вами немного все-таки уменьшим
00:08:57
количество методов для того чтобы было
00:08:59
более наглядней ограничимся методом
00:09:02
крутите руль и ехать ведь по сути если
00:09:05
мы будем крутить педали можешь будем
00:09:06
ехать
00:09:07
правда смотря какую сторону но это все
00:09:09
таки мелочи у нас будет метод твист
00:09:11
завел крутить руль и мы с вами
00:09:15
договорились что этот метод у нас будет
00:09:18
полностью виртуально у нас все методы у
00:09:21
интерфейса basic aibo seek all должны
00:09:24
быть полностью виртуальными также нам
00:09:26
нужен еще один метод назовем его
00:09:30
райт у то бишь либо кататься ли поехать
00:09:33
для велосипеда самое том как вы помните
00:09:36
если наш класс имеет хотя бы один чисто
00:09:38
виртуальный метод он уже является
00:09:40
абстрактным пасуйте наш интерфейс
00:09:43
это абстрактный класс с чисто
00:09:45
виртуальными методы вот и все и если у
00:09:47
нас будет человек который будет знать об
00:09:50
интерфейсе и basic он сможет кататься на
00:09:55
абсолютно любом велосипеде даже не то
00:09:56
что велосипеде абсолютно на любом
00:09:58
объекте который реализовывает вот такой
00:10:01
вот интерфейс
00:10:02
а их басика давайте создадим такой класс
00:10:04
человека у нашего человека будет method
00:10:09
right on the съехать на сюда мы будем
00:10:11
передавать
00:10:15
что мы будем передавать
00:10:17
ссылку на любой объект который
00:10:21
реализовывать наш интерфейс
00:10:23
ой басика если вы помните уроки обувь
00:10:26
страшных классах о наследовании то вы
00:10:28
также помните что базовый класс может
00:10:31
хранить в себе
00:10:32
ссылку абсолютно на любого своего класса
00:10:34
наследник поэтому все классы которые мы
00:10:37
унаследуем от интерфейса альба сиквел
00:10:40
смогут работать вот вместе с этим
00:10:42
методом рай done давайте напишем
00:10:44
реализацию для такого метода
00:10:49
этот метод будет работать таким образом
00:10:51
сначала нам в консоль будет выводиться
00:10:54
надпись крутим руль далее объекта
00:10:58
который мы получим сюда которая будет
00:11:01
реализовывать интерфейс либо искал в
00:11:03
любом случае мы вызываем метод
00:11:05
этого интерфейса крутить руль кстати я
00:11:08
нашёл ошибку и далее мы пишем что мы
00:11:12
поехали и
00:11:14
у нашего боясь цикла мы вызываем метод
00:11:17
для того чтобы вся эта система
00:11:19
заработала нам понятное дело нужно
00:11:22
создать объект типа human и вызвать у
00:11:27
него method right on но этот метки
00:11:30
принимает ссылку на какой-то конкретный
00:11:32
экземпляр который у нас будет
00:11:35
наследоваться от интерфейса и барсиком у
00:11:38
нас еще таких классов таких экземпляров
00:11:40
нету
00:11:42
давайте его создадим назовем его сим пол
00:11:47
куба секу обыкновенный простой велосипед
00:11:51
мы должны унаследовать наш класс simple
00:11:54
basic of от абстрактного класса а и
00:11:57
босяков ну по сути вот этот наш
00:12:00
интерфейс
00:12:01
это абстрактный класс существа
00:12:02
виртуальными методами и заметьте что
00:12:06
когда мы наследуем ся от интерфейса то
00:12:10
принято говорить не наследуем ся от
00:12:12
интерфейса не наследуем интерфейс а
00:12:16
реализовываем интерфейс ну потому что по
00:12:18
сути у нас в интерфейсе есть только
00:12:21
описание какие в нем должны быть методы
00:12:23
чтобы кто-то с ним мог взаимодействовать
00:12:25
а то каким образом это будет происходить
00:12:27
реализовывается в наследниках по поэтому
00:12:30
реализовываем интерфейс мы будем
00:12:32
использовать паблик на исследование о
00:12:34
том что ты такое мы уже много раз
00:12:35
говорили и для того чтобы наш конкретный
00:12:37
класс simple buy сиквел заработал мы
00:12:40
должны реализовать эти методы которые мы
00:12:43
задекларировали в нашем интерфейсе
00:12:46
басика то бишь переопределить их описать
00:12:49
их реализация как это делается мы с вами
00:12:52
уже знаем нам нужно писать точно такую
00:12:54
самую сигнатура метода которые мы хотим
00:12:56
определять я его отсюда просто скопирую
00:12:59
и также необходимо использовать ключевое
00:13:02
слово о выроет чтобы компилятор
00:13:04
проконтролировал то что мы действительно
00:13:05
переопределили метод базового класса и
00:13:08
ни в чем не ошиблись
00:13:09
у нас два таких метода метод twice the
00:13:12
world as покрутить руль и еще один метод
00:13:16
это метод рай а не будем здесь мудрить
00:13:20
мы просто сделаем все old и
00:13:24
что у кого вызвалась так нам будет и
00:13:28
хорошо видно и надеюсь более понятно
00:13:31
таким образом когда мы у нашего
00:13:33
велосипеда
00:13:35
класс a simple buy который который
00:13:37
реализовывает интерфейс пересекал будем
00:13:39
вызывать какой-то из этих методов
00:13:41
которые мы переопределим и будем видеть
00:13:43
что за метод вызывался и у кого он
00:13:47
вызвался в какого класса
00:13:48
один велосипед у нас готов давайте
00:13:50
затестим для этого нам понадобится
00:13:52
создать экземпляр такого такого
00:13:54
велосипеда simple басика съем его просто
00:13:58
с.б. и теперь мы можем передать такой simple
00:14:01
basic method right
00:14:03
он нашу человек чтобы он прокатился на
00:14:05
нашем велосипеде
00:14:06
а так как этот райт он принимает ссылку
00:14:11
на абсолютно любой тип данных который
00:14:14
реализовывает интерфейса и basic lto он
00:14:16
с нашим новым simple босяк он спокойно
00:14:19
себе сможет взаимодействовать запускаем
00:14:21
нашу программу забывается лакею
00:14:23
запускаем еще раз и так мы видим что все
00:14:29
отлично работает
00:14:30
сначала вводится сообщение крутим руль и
00:14:33
и далее вызывается метод турист завал по
00:14:37
объекта simple босяков далее поехали
00:14:40
вызывается метод write a simple басик
00:14:42
все это происходит вот в этом моменте
00:14:44
когда мы вызываем метод
00:14:45
райт он вот на 134 строчки кода мы
00:14:48
вызываем этот метод
00:14:49
райтон и передаем туда объект типа
00:14:52
simple босяков выводится сообщение
00:14:54
крутим руль и через ссылку на интерфейс
00:14:57
либо иссякал мою конкретного экземпляра
00:14:59
simple buy цикл который реализовывает
00:15:02
этот интерфейс и вызываем метод
00:15:04
сначала твист за while ну а зачем мира
00:15:07
the right давайте даже зайдем в него
00:15:09
пожалуйста отрабатывать все отлично
00:15:11
работает а теперь для того чтобы понять
00:15:13
суть необходимость интерфейсов нам
00:15:18
потребуется создать еще один велосипед
00:15:20
разъем его спорт пасеку нам также
00:15:24
необходимо реализовать интерфейс
00:15:26
ойбай цикл для этого велосипеда я сейчас
00:15:30
отсюда скопирую чтобы быстрее было здесь
00:15:33
нам требуется заменить только толку кого
00:15:35
какого объекта будет вызываться данный
00:15:38
интерфейс теперь смотрите если мы с вами
00:15:41
создадим объект класса спорт басика
00:15:45
приводит спорт b и нашему человеку
00:15:50
передадим теперь новый велосипед для
00:15:53
того чтобы на нем покатался то наш
00:15:55
человек без проблем сможет
00:15:57
воспользоваться и таким велосипедом как
00:15:59
видим у нас теперь отрабатывает me to
00:16:02
the right он нашего человека уже
00:16:03
немножечко по-другому крутим руль
00:16:06
вызывается метод
00:16:07
twizy vel спорт-бар цикл аналогично
00:16:11
поехали method right спорт барсиком
00:16:14
таким образом мы с вами сможем на
00:16:17
создавать сколько угодно этих
00:16:19
велосипедов и если такой велосипед будет
00:16:23
реализовывать интерфейс
00:16:25
ойбай цикл то наш человек без проблем
00:16:28
сможет таким велосипедом пользоваться
00:16:29
потому что благодаря вот этой вот записи
00:16:32
благодаря тому что не умирает он
00:16:35
принимает в себя параметрам ссылку на
00:16:38
любой объект который реализует интерфейс
00:16:41
альба цикл
00:16:42
то этот человек собственное может
00:16:44
кататься абсолютно на любом объекте мы
00:16:47
можем хоть и табуретку туда ему
00:16:49
подсунуть лишь бы это табуретка реализованный
00:16:52
интерфейс а и босяком примерно такая же
00:16:54
логика у нас будет из работой с базами
00:16:57
данных как пример который я описал в
00:17:00
начале этого урока также хочу заметить
00:17:02
что так как все плюс плюс у нас
00:17:05
множественное наследование не ограничено
00:17:08
то один объект она сможет наследовать
00:17:10
несколько интерфейса практически та же
00:17:13
само как и множественное наследование
00:17:14
только с отличием таким что интерфейсе у
00:17:18
нас все методы должны быть чисто
00:17:20
виртуальными
00:17:21
поэтому
00:17:22
реализация конкретная реализация того
00:17:25
каким образом будет себя вести этот
00:17:27
интерфейс в каком-то объекте
00:17:29
ложится на вот эти моменты с
00:17:32
переопределение методов
00:17:35
этого интерфейса ну а пример с
00:17:37
множественным наследованием я вам уже
00:17:38
показывал работать это будет все так же
00:17:41
сам и на этом у меня пока все
00:17:43
если этот урок был для вас полезен там
00:17:45
будете поставить лайк и так же вам буду
00:17:47
очень благодарен если вы поделитесь этим
00:17:48
видео со своими друзьями очень поможет
00:17:51
развитию канала ну и конечно же если вы
00:17:53
еще не подписались на канал то
00:17:54
обязательно подпишитесь чтобы не
00:17:55
пропустить следующие уроки всем спасибо
00:17:58
за внимание пока

Описание:

Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок #113 Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут! =) https://www.donationalerts.com/r/simplecode или тут https://www.patreon.com/SimpleCode *Наследование в ООП пример. Что такое наследование. Для чего нужно наследование классов. ООП. C++ #98* https://www.youtube.com/watch?v=O7ruEWCa7zc&index=116&list=PLQOaTSbfxUtCrKs0nicOg2npJQYSPGO9r *Виртуальные методы класса c++. Ключевое слово virtual. Ключевое слово override. ООП. C++ #103* https://www.youtube.com/watch?v=YlbFPAugFNA&list=PLQOaTSbfxUtCrKs0nicOg2npJQYSPGO9r&index=122 *Абстрактный класс с++ пример. Чисто виртуальная функция. virtual. override. Полиморфизм ООП C++ #104* https://www.youtube.com/watch?v=y2tqQf2mdeA&list=PLQOaTSbfxUtCrKs0nicOg2npJQYSPGO9r&index=123 *Множественное наследование c++ пример. ООП. Изучение С++ с нуля для начинающих. Урок #109* https://www.youtube.com/watch?v=QEuR9GIdrZY&index=129&list=PLQOaTSbfxUtCrKs0nicOg2npJQYSPGO9r Поддержка канала https://www.patreon.com/SimpleCode Уроки по программированию Наша группа ВК https://vk.com/smplcode Подписывайтесь на канал https://www.youtube.com/channel/UCtLKO1Cb2GVNrbU7Fi0pM0w

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок #113"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок #113" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок #113"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок #113" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок #113"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "Что такое интерфейс в ООП. Интерфейс c++ пример. Изучение С++ для начинающих. Урок #113"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.