Спасибо за отличный урок, хотелось бы поподробнее разобраться, как на "железном" уровне происходит создание объекта, выделение памяти для него, а в частности - почему компилятор не может разобраться при множественном наследовании и не борется с дублированием переменных. Просто сразу приходит в голову - ну так пусть в случае колизии используют одну общую переменную). Также интересно как же все-таки достучаться до нужного метода/переменной в таких случаях.
@VladimirMozhenkov9 жыл бұрын
Валерий Шинкаренко Видео про это уже записано. Подождите немного.
@pavelbushmakin81269 жыл бұрын
Также проблема в ромбе возникает при переопределении методов базового класса одним и более дочерними. В Ruby проблема множественного наследования решается при помощи примесей(mixins)
@MrOverlord2437 жыл бұрын
В сишарпе все просто, там запрещено множественное наследование, вот и решение проблемы
@davidblbulyan3077 Жыл бұрын
В Java тоже нельзя множественное наследование, однако это не решение проблемы
@АристархЗловредович7 жыл бұрын
Все супер ,но я все ждал реальный пример. Например как правильно обойти замыкание и тд.
@thomasmorgan90439 жыл бұрын
Для ромбовидного наследования нужно использовать "виртуальное наследование", а насчет другого, то вроде по namespace можно и Д классу и к А классу. Сделайте видео еще про vtable, тема тоже популярная.
@VladimirMozhenkov9 жыл бұрын
Thomas Morgan Ещё не сделано, но уже записал видео про позднее связывание (динамическую типизацию). Про виртуальные таблицы тоже запишу.
@dsalodki4 жыл бұрын
C разрешает мн. наследование? разве это не функциональный язык, без ООП?
@РайанКупер-э4о3 жыл бұрын
Вы что-то путаете. Функциональные языки - это lisp, Haskell, Erlang. Они используют лямбда-исчисление как математическую основу своей работы. Да и сказать, что в C нет ООП - это слукавить. В C есть структуры, которые позволяют реализовать и наследование, и полиморфизм, и бог знает что ещё. Просто это не так удобно, как с классами в плюсах.
@Skorobogatow8 жыл бұрын
Каким образом можно реализовать множественное наследование в Си, если там нет классов?
@maxlich91397 жыл бұрын
а если там нет классов, если ли там ООП?
@C0oo1D6 жыл бұрын
никаким, или писать на плюсах
@404Negative6 жыл бұрын
у меня все классы получаются Г
@РайанКупер-э4о3 жыл бұрын
В плюсах класс iostream использует ромбовидное наследование.