Size: a a a

2020 July 18

IZ

Ilia Zviagin in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Я про виртуальные функции в конструкторе
Виртуальные функции в конструкторе ничем не отличается от остальных случаев.
источник

CD

Constantine Drozdov in supapro.cxx
Ilia Zviagin
Да да да. Менять, если точнее
Ну если он ее синтезировал, он же все знает, тут как раз все хорошо
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Просто был вопрос на cppquiz такой
источник

IZ

Ilia Zviagin in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Просто был вопрос на cppquiz такой
Какой?
источник

АК

Артём Колпаков... in supapro.cxx
Ilia Zviagin
Ну и ты пытается тут поставить эксперимент и на его основе вывести результат, теорию.
Это вообще в корне неверный подход в С++.


Например, я вижу страуса, он птица и он не летает. Я вижу пингвина, он птица, и не летает. Следовательно, все птицы не летают.

Вот примерно так ты рассуждаешь
Я просто увидел случай, теорию не строил, но пришел сюда за помощью.
источник

АК

Александр Караев... in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Просто был вопрос на cppquiz такой
А ты не путаешь предка и ребенка?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Александр Караев
А ты не путаешь предка и ребенка?
Ага
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Ilia Zviagin
Из конструктора виртуальная функция тоже обычно зовётся виртуально, потому что не всегда ясно кто из предков переопределил вызываемую
Предков или ребенков?
источник

IZ

Ilia Zviagin in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Предков или ребенков?
Предков
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Ilia Zviagin
Предков
А зачем в этом случае vtable? В конструкторе вроде известно кто где что переопределил из предков
источник

АК

Артём Колпаков... in supapro.cxx
Кстати Эккель и Строуструп солидарны во мнении (в своих книгах), что прямой вызов в конструкторах/деструкторах виртуальных функций происходит статически
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
А зачем в этом случае vtable? В конструкторе вроде известно кто где что переопределил из предков
Я сейчас про конструктор
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Артём Колпаков
Кстати Эккель и Строуструп солидарны во мнении (в своих книгах), что прямой вызов в конструкторах/деструкторах виртуальных функций происходит статически
Так а как может быть вызвана виртуальная функция, переопределенная в ребенке, если он еще не создан
источник

АК

Артём Колпаков... in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Так а как может быть вызвана виртуальная функция, переопределенная в ребенке, если он еще не создан
Я такого не говорил, такого и не происходит
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Артём Колпаков
Я такого не говорил, такого и не происходит
Просто смысл ходить в vtable
источник

АК

Артём Колпаков... in supapro.cxx
Статически вызываются именно функции того класса, объект которого в данный момент конструируется/уничтожается
источник

АК

Артём Колпаков... in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Просто смысл ходить в vtable
Косвенный вызов, когда нельзя доказать статически тип объекта?
источник

IZ

Ilia Zviagin in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
А зачем в этом случае vtable? В конструкторе вроде известно кто где что переопределил из предков
Один предок, прадед, определил ВФ, его наследник, Дед, переопределил. Нужен виртуальный вызов
источник

IZ

Ilia Zviagin in supapro.cxx
Артём Колпаков
Косвенный вызов, когда нельзя доказать статически тип объекта?
Да
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Ilia Zviagin
Один предок, прадед, определил ВФ, его наследник, Дед, переопределил. Нужен виртуальный вызов
D <- A. Когда создается объект типа D, сначала создается А, где нет vtable от D
источник