Виртуальные методы класса c++. Ключевое слово virtual. Ключевое слово override. ООП. C++

  Переглядів 175,635

#SimpleCode

#SimpleCode

6 років тому

Понравилось видео или оказалось полезным? Подпишись!
Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут! =)
www.donationalerts.ru/r/simple...
или тут
/ simplecode
Виртуальные методы класса c++. Ключевое слово virtual Ключевое слово override. ООП C++ Для начинающих #103
Указатели c++ что это. Для чего нужны. Указатели c++ разыменование. C++ для начинающих. Урок #46
goo.gl/fysKKg
Указатель на функцию в качестве параметра. Передача функции в качестве параметра. С++ Урок #65
goo.gl/w97yi9
Уроки по программированию
Наша группа ВК smplcode
Подписывайтесь на канал / @simplecodeit

КОМЕНТАРІ: 241
@SimpleCodeIT
@SimpleCodeIT 6 років тому
*Друзья, если вы решили изучать программирование и подписались на канал - рекомендую вам нажать колокольчик чтобы никогда не пропускать новые уроки!*
@shohoch7800
@shohoch7800 5 років тому
Афигеть. Тебя смотрят серьезные ребята. Три слова бэнг и ни одной шутки про батю в здании.
@sergeyvoloshin1553
@sergeyvoloshin1553 4 роки тому
Акстись
@SaffronChipMCPE
@SaffronChipMCPE 3 роки тому
BADABOOM P.S. Есть песня русская - бадабум
@dankn6155
@dankn6155 2 роки тому
батя теперь в совсем другом здании)
@DigitRoach
@DigitRoach 2 роки тому
@@dankn6155 школьники умерли ещё на массивах и на строках в стиле "C"
@user-bm9lb1zu9i
@user-bm9lb1zu9i 2 роки тому
@@DigitRoach школьники, которые смотрели клипы Хованского, уже давно не школьники)))
@user-xl9py5hr7i
@user-xl9py5hr7i 4 роки тому
Посмотрел.Через 20 минут, я и тараканы начали аплодировать. Спасибо вам за качественное обьяснение на понятных примитивах.
@gnot7900
@gnot7900 10 місяців тому
Передаю респект всем кто не забросил и дошёл до этого урока + автору за хорошее обучение. Я перешёл сюда с платного курса C++ Developer потому что хоть там и профессионалы, далеко не каждый сможет подробно и понятно объяснить материал (Там за 30 минут объяснили 10+ уроков Сергея😂)
@francheeze
@francheeze 8 місяців тому
То чувство когда половина уроков уже позади
@HessW
@HessW 8 місяців тому
​​@@francheezeно это только база C++, а впереди ещё учить библиотеки, системы сборки, работу с сетями, deep learning, computer science.
@francheeze
@francheeze 8 місяців тому
@@HessW да знаю я, знаю, просто жалко
@sergbo5509
@sergbo5509 5 років тому
Из слов в начале можно сделать вывод что virtual определяет полиморфизм в С++. Но если его не использовать то поведение в дочерних классах тоже переопределяется, это тоже подходит под описание полиморфизм. Разница лишь в том, что без виртуала вызовется функция которая определена типом переменной, если она не определена в классе потомке, то вызовется функция базового класса. А вот если с вируалом, то вызывается функция которая определена типом объекта(не типом переменной как в первом случае). А если вирутальная функция не переопределена в потомке, поиск продолжается в базовом классе. Где-то я читал как работает ключевое слово virtual на уровне машинного кода. Без указания virtual адрес функции сразу записывается в инструкцию машинного кода. А если с указан virtual, то адрес входа в функцию вычисляется из таблицы виртуальных методов которая содержится в адресном пространстве самого объекта. Как-то так.
@Binitto001
@Binitto001 3 роки тому
Слов не хватает что бы выразить свою благодарность! 3 часа ебли мозгов на лекции в универе и нихуя не понятно, а здесь все понял за 20 минут, без воды и по делу.
@rib0385
@rib0385 6 років тому
Спасибо за уроки,благодаря вам закрыл программирование в универе
@SimpleCodeIT
@SimpleCodeIT 6 років тому
Пожалуйста!
@SaffronChipMCPE
@SaffronChipMCPE 3 роки тому
как успехи?) Где начал работать?
@rib0385
@rib0385 3 роки тому
@@SaffronChipMCPE уже год как в сбертехе
@SaffronChipMCPE
@SaffronChipMCPE 3 роки тому
@@rib0385 поздравляю! :D
@SaffronChipMCPE
@SaffronChipMCPE 3 роки тому
@@rib0385 ого, за 1 год уже добрался до сбертеха :/
@segars9604
@segars9604 7 місяців тому
Благодарю за бесценную работу!
@SimpleCodeIT
@SimpleCodeIT 6 років тому
Виртуальные методы класса c++. Ключевое слово virtual Ключевое слово override. ООП C++ Для начинающих #103
@vielavernus7026
@vielavernus7026 12 днів тому
Искал хороший урок, а нашёл золотую жилу! Спасибо большое за ваши уроки!
@the_fallen_knight5596
@the_fallen_knight5596 4 роки тому
Отличный канал !!!!!Просто и понятно объяснил все С++ . Спасибо
@user-jl7et8gx5u
@user-jl7et8gx5u 6 років тому
Спасибо. Все ясно и понятно.
@user-xj9re7gv5g
@user-xj9re7gv5g 9 місяців тому
Важный и понятный урок. Сергей, спасибо большое!!!
@timursyrma
@timursyrma 3 роки тому
Комментарий для поддержки канала. Спасибо за Ваши видео, очень все предельно ясно!
@user-nw5iw5ew9z
@user-nw5iw5ew9z 3 роки тому
Огромное спасибо, Сергей, очень интересно и доходчиво!
@user-kc8dw8ou9s
@user-kc8dw8ou9s 5 років тому
Рассказывает всё то что именно нужно без воды, классно
@user-bc4vi6hl2f
@user-bc4vi6hl2f 6 років тому
Очередное Спасибо!
@user-ko3yq7xu9p
@user-ko3yq7xu9p 4 роки тому
Очень крутые примеры! Несколько раз хотел нажать лайк, но он уже стоит:)
@natasha1059
@natasha1059 4 роки тому
большое спасибо за продуманные, информативные видеоуроки! благодаря ним нашла ответы на многие интересующие вопросы и продолжаю пополнять свои знания в области программирования на с++
@proKaps
@proKaps 6 років тому
Очень хорошее объяснение! Спасибо!
@user-os5ee2fg9d
@user-os5ee2fg9d 5 років тому
Спасибо за Вашу работу!
@Ermine882
@Ermine882 6 років тому
Спасибо за урок.
@user-zn6uk1dn6q
@user-zn6uk1dn6q Рік тому
Отдельное спасибо за объяснение того, для чего virtual и override необходимы!
@dezign_er
@dezign_er 6 років тому
Огромное спасибо за видео!
@andrewbistroff1199
@andrewbistroff1199 6 років тому
Спасибо Сергей за просто и понятно изложенный материал !
@SimpleCodeIT
@SimpleCodeIT 6 років тому
Пожалуйста!
@boyjak7205
@boyjak7205 5 років тому
Спасибо за качественные уроки
@aleksey220280
@aleksey220280 2 роки тому
Спасибо! Такого толкового пояснения полиморфизма не встречал, многе стало на места.
@PyleNormis
@PyleNormis 2 роки тому
Комментарий создан для продвижения видео! Спасибо, Сергей!
@UnknownPerson-nf8ml
@UnknownPerson-nf8ml 6 років тому
очень полезно было. Спасибо, я аж засмотрелся
@mahpexm6995
@mahpexm6995 2 роки тому
Спасибо! Очень доходчивые и понятные объяснения)
@kaynsolo
@kaynsolo 6 років тому
Все чётко, без воды..
@hitman8102
@hitman8102 5 років тому
Я хз почему так мало у вас подписчиков , вы реально заслуживаете больше подписчиков . Я хочу на курсы и смотрю вас и все понимаю , спасибо вам
@Danshyn
@Danshyn 5 років тому
Отличный урок, особенно объяснение на реальном примере ;)
@sgimancs
@sgimancs 4 роки тому
Но кто же ставит дизлайки. Это могут здесь специально делать только "враги народа и вредители не из той оперы". Как здесь, еще никто не смог доступно и детально объяснить непростые вещи из плюсов с идеальной дикцией и эрудицией .
@monke7336
@monke7336 3 роки тому
Чтобы его видео наверно в рекомендациях не появлялись
@kemsekov6331
@kemsekov6331 4 роки тому
Это тот самый контент, который будет актуален всегда, но или пока живо программирование)
@user-ny4zk7gj7n
@user-ny4zk7gj7n Місяць тому
оххх! ПОЛИМОРФИЗМ - ЭТО ПРОСТО БОМБА!!! ОГРОМНАЯ БЛАГОДАРНОСТЬ СЕРГЕЮ ЗА ДОХОДЧИВОЕ ОБЪЯСНЕНИЕ СТОЛЬ СЛОЖНОГО МАТЕРИАЛА!!!!
@borisermolaev3158
@borisermolaev3158 5 років тому
Хорошо, что я нашел ваш канал.
@Cyanidez07
@Cyanidez07 3 роки тому
Автор - большое вам спасибо!
@user-qu8wx1li5c
@user-qu8wx1li5c 6 років тому
Спасибо большое, хорошо объясняете, и нравится что раскладываете все темы по кусочкам, удобно смотреть и понимать.
@SimpleCodeIT
@SimpleCodeIT 6 років тому
Пожалуйста!
@brffclips1
@brffclips1 4 роки тому
РЕБЯТ НЕ ЛЕНИТЕСЬ ПЕРЕСМАТРИВАТЬ. ОЧЕНЬ СИЛЬНО ПОМОГАЕТ(КАПСОМ ТАК КАК ОЧЕНЬ ВАЖНО)
@SaffronChipMCPE
@SaffronChipMCPE 3 роки тому
согласен, я лично уже забыл урок про указатель на функцию
@user-fv3uy2px1b
@user-fv3uy2px1b 2 роки тому
Иду по второму кругу, это нормально, повторение мать учения, далее если надо третий, ну а ещё далее точечно по темам которые срочно нужны
@user-or1hy4xz8u
@user-or1hy4xz8u 2 роки тому
@@user-fv3uy2px1b срочно нужны к экзамену?
@user-fv3uy2px1b
@user-fv3uy2px1b 2 роки тому
@@user-or1hy4xz8u нет, просто фанатею, нравится
@_Yes_.
@_Yes_. Рік тому
@@user-fv3uy2px1b ровытагптукпотщуплтукщпткерекрпкпкупкуркуртть
@user-nw8jr3vh2b
@user-nw8jr3vh2b 6 місяців тому
Спасибо за урок!
@SeshAlex
@SeshAlex 6 років тому
Спасибо за урок, чем дальше тем интереснее:)))
@minsk150
@minsk150 3 роки тому
Гениальное обьяснение!!!!! СПАСИБО!!!!
@book_riot
@book_riot Місяць тому
Спасибо за объяснение, зачем это нужно! Очень помогает не сдаваться))
@user-ut7tj6bp4t
@user-ut7tj6bp4t 4 роки тому
Один из самых интересных уроков)))
@simplyspenser887
@simplyspenser887 5 років тому
Великолепный урок, спасибо огромное. Вроде аж 20 минут, но посмотрел на одном дыхании:)
@SaffronChipMCPE
@SaffronChipMCPE 3 роки тому
даже не заметил, как время прошло
@vladalu9794
@vladalu9794 6 років тому
спасибо огромное бро!!! все понятно рассказал!
@denisplotnikov2202
@denisplotnikov2202 4 роки тому
Спасибо преогромное. Итак под всеми видео поставил лайки. Но конкретно это с данными примерами очень хорошо зашло. По большей части закрываю пробелы с Вашими видео. Но, чувствую, только сейчас, после Ваших уроков, начинает складываться целостная картина. А то уже расстраивался от недопонимания многих вещей. Сейчас же огромный стимул двигаться дальше.
@jewelkz
@jewelkz 4 роки тому
Прекрасное объяснение!
@pahimself
@pahimself 2 роки тому
лучше обьяснений не встречал. рад познакомиться.
@user-ol9es1ch9x
@user-ol9es1ch9x Рік тому
привет из 2023. Спасибо большое за уроки!
@vovantorpeda
@vovantorpeda Рік тому
поддерживаю!!! уроки всегда на высоте )
@totosha2860
@totosha2860 5 років тому
Спасибо большое!
@user-iy7nj4is4n
@user-iy7nj4is4n 8 місяців тому
Браво 👏 👏 👏 👏 👏
@user-zx5st3fq7x
@user-zx5st3fq7x 4 роки тому
Шикарно обьяснил , красава!!
@sergbo5509
@sergbo5509 5 років тому
За уроки по любому лайк!
@Ivan-Shyriaiev
@Ivan-Shyriaiev 3 роки тому
Спасибо *большущее* !
@anotherpain9120
@anotherpain9120 Рік тому
По кайфу, благодарствую!
@CrazyHandMaker
@CrazyHandMaker Рік тому
Полезный урок. Спасибо.
@medetkhanaltynbek1442
@medetkhanaltynbek1442 2 роки тому
Благодарю за урок учитель! :)
@Hitori_FtoL
@Hitori_FtoL 5 років тому
Лучший!
@vladimirdiadichev6140
@vladimirdiadichev6140 6 років тому
Спасибо
@kirkmanChannel
@kirkmanChannel 4 роки тому
Супер!
@seregapikulev9834
@seregapikulev9834 4 роки тому
Спасибо!
@mykhailomorhal2181
@mykhailomorhal2181 6 років тому
Спасибо)
@rettjaconomaili8201
@rettjaconomaili8201 6 років тому
Спасибо!!!
@nap0le0nb0naparte7
@nap0le0nb0naparte7 6 років тому
Интересный урок, спасибо.
@apchike-masala
@apchike-masala 3 роки тому
Наполеон! А ну марш в торт обратно! Ты наказан!
@mar_kha
@mar_kha Рік тому
Потрясающий ролик! Начинаешь (хотя бы на примитивном уровне) понимать, как осуществляли действия в любимых играх детства
@Asmarone
@Asmarone 6 місяців тому
скинь свой тг
@sergbo5509
@sergbo5509 5 років тому
А еще я бы подчеркнул именно тот момент, что во время присвоения Gun *gun=&submachinegun; Не смотря на то что тип переменной меняется, тип объекта на который указывает ссылка типа Gun, по прежнему остается типа SubmachineGun. Даже не смотря что список методов при обращении к этой ссылке может быть другой, это не значит что методы куда-то делись, просто через данную ссылку они не доступны. Так вот если член-функции имеют одинаковую сигнатуру, какую функцию Shoot вызывать? Из типа ссылки(Gun) или из типа объекта(SubmachineGun)? По умолчанию вызывается из типа ссылки, а при наличии ключевого слова virtual, вызывается функция из типа объекта. Вот где магия)
@whynot3052
@whynot3052 6 років тому
#SimpleCode спасибо
@radvanabazin2299
@radvanabazin2299 3 роки тому
Молодец во всем !!!
@igorpoznyakov5486
@igorpoznyakov5486 3 роки тому
Крутой урок!!!
@thick_milk
@thick_milk 2 роки тому
ОФИГЕННО!
@tupoy_ytub_uberi_psevdonim
@tupoy_ytub_uberi_psevdonim 2 роки тому
твои видеоуроки заменяют целую учебную программу
@beezowdoodoozopittybopbopbop
@beezowdoodoozopittybopbopbop 3 роки тому
Пример с оружием просто пушкабомбапетарда, однозначно лайк:)
@aram.nett1
@aram.nett1 6 років тому
Спасибо братан
@zheniarudchyk4285
@zheniarudchyk4285 5 років тому
#SimpleCode , как всегда на высоте :) , но замечание нужно было сказать что указатель на базовый клас не имеет доступа к индивидуальним свойствам класса наследника ибо сбивает с толку как указатель на базовый клас может взаимодействовать с производным классом!!!(не обращайте внимание на ошибки не русский)
@alexyounger.b
@alexyounger.b 3 роки тому
Лучший!!
@user-ry3fx3pd5h
@user-ry3fx3pd5h 5 років тому
После ваших уроков кресты постепенно перестают быть неподъёмной "магией". Большое спасибо!
@SimpleCodeIT
@SimpleCodeIT 6 років тому
#virtual #override #ООП #SimpleCode #урокипрограммирования
@ilyakardapoltsev8225
@ilyakardapoltsev8225 6 років тому
спасибо за урок
@SimpleCodeIT
@SimpleCodeIT 6 років тому
Пожалуйста!
@user-hb7er4ff9u
@user-hb7er4ff9u 2 роки тому
спасибо
@mr.deadwish1666
@mr.deadwish1666 6 місяців тому
Вот кто переводит в сериалах Gun как "пистолет", а не "Пушка/ствол/огнестрел"! Смотрю вас ещё со школы, лучший контент
@user-vu5xo7qr8r
@user-vu5xo7qr8r 2 роки тому
Дякую! Вже 103 уроки позаду, ух)
@user-uw4bj2uz5l
@user-uw4bj2uz5l 3 роки тому
бооооже, это же ааааахуенно. и уроки, и полиморфизм. это... тупа топ. прекрасное изложение. суперлайк !
@panschindler9370
@panschindler9370 4 роки тому
BADABOOM!!! Спасибо, за урок!!!:)
@arkanruler1593
@arkanruler1593 5 років тому
На примере компьютерной игры в разы понятнее. Спасибо!!!
@scolopendrachilopoda9704
@scolopendrachilopoda9704 2 роки тому
пока смотрел сошел с ума два раза, спасибо
@overdoses1794
@overdoses1794 6 років тому
void Overdoses(*Thank you){cout
@user-ji7it9xd7x
@user-ji7it9xd7x 3 роки тому
Думаю по принципу, как бы строгой иерархии, если мы заходим ссылаемся через главный вход родительского класса, мы с тем же успехом попадем в нужную нам квартиру, у которой своя особая реализация(полиморфизм) как если бы мы шли туда напрямую, через балкон, окно или вертолетную площадку. То есть мы получим "Bang! Bang! Bang". Все зависит от адреса взятого класса, и наличия ключевого слова virtual.
@TheWladberlin
@TheWladberlin 4 роки тому
Спасибо за "задолбаемся"! 18:40 :)
@pavelnovikov3894
@pavelnovikov3894 2 роки тому
Удобная тема
@pavelnovikov3894
@pavelnovikov3894 2 роки тому
СПАСИБО ЗА ТРУД
@Mar_doK
@Mar_doK 2 роки тому
Лично для меня это трудно понять, но думаю после через некоторое количество попыток и обдумывания этой информации я смогу понять суть виртуальных функций. Я знаю как этим пользоваться, но не понимаю самой сути данного функционала. Спасибо за урок.
@anatolyvatson2542
@anatolyvatson2542 Рік тому
Такая же история. Надо просто со временем подойти к этому, на подсознании есть флаг что такое есть рано или поздно он сработает
@sleepyNovember_project
@sleepyNovember_project 3 місяці тому
@@anatolyvatson2542 ну как успехи? =)
@lennoxmacduff2037
@lennoxmacduff2037 6 років тому
Если мы у SMG вызовем метод Shoot и не передадим туда параметров, то пистолет-пулемёт выстрелит нам в ногу XD
@andreupypkin5176
@andreupypkin5176 5 років тому
BOOM!)
@vnaqr
@vnaqr 5 років тому
Помогите, я зависим... Это просто так интересноо
@TopConductor
@TopConductor 2 роки тому
Очень хорошие уроки! Одно но, стоило метод в классе Player назвать как-то иначе чем Shoot(), иначе возможно новички могут подумать что они должны обязательно называться одинаково для полиморфизма.
@user-vr1xw4ln7y
@user-vr1xw4ln7y 2 роки тому
Реализовал так же только с настройками для звука гитары, мол чистый звук, дисторшн, овердрайв)
@annademidenko6356
@annademidenko6356 5 років тому
👏
@user-bp4en5nl2v
@user-bp4en5nl2v 3 роки тому
Бадавум👍👍👍
@alexgross2832
@alexgross2832 3 роки тому
А если у нас есть такая ситуация... Допустим, что игроку придётся как-то по - другому держать каждое оружие. Придётся тогда менять логику в классе Player для каждого конкретного метода типа shoot. Или можно в классе конкретного оружия указать поведение для него. Например класс Bazooka содержит метод шут, в котором реализуется тип стрельбы, то как игрок держит оружие, отдача, звук от выстрела и т.д.
Bro smelt it & passed out 😂 #comedy
00:10
MrTalalaa
Переглядів 6 млн
Собеседование Junior C++
45:32
Ambushed Raccoon
Переглядів 91 тис.
Подпрограммы С++
49:59
Денис Бречка
Переглядів 521
Принципы ООП. 3. Полиморфизм
9:04
Sergey Nemchinskiy
Переглядів 136 тис.
Вселенная и Специальная теория относительности.
3:51:36
ЗЛОЙ АНАЛИТИК ВСЕЛЕННОЙ.
Переглядів 6 млн
Python с нуля. Урок 3 | Функции
14:44
Иван Викторович
Переглядів 780 тис.
Раннее и Позднее Связывание
12:44
Volodya Mozhenkov
Переглядів 40 тис.