ch
Feedback
С++ задачи и вопросы

С++ задачи и вопросы

前往频道在 Telegram

Задачи, тесты и теоретические вопросы по С++ Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny

显示更多
609
订阅者
无数据24 小时
-17
-330
帖子存档
☝️Объяснение: Виртуальные функции берут стандартный аргумент из самого Base класса. Поэтому ответ будет B1. Многие стайлгайды запрещают это, потому что ведёт к таким странным ошибкам. Почему так сделано -- понятно, если у вас есть динамический тип, то мы должны где-то ещё хранить информацию о дефолтных аргументах, так как они обязаны вычисляться до вызова функции. Так как виртуализация в C++ сделана через разыменовывание vptr, где грубо говоря будут храниться указатели на функции, то единственный вариант дефолтного аргумента -- в самом интерфейсе.

Что выведет программа?
Anonymous voting

☝️Объяснение: При создании объекта класса-наследника в первую очередь последовательно вызываются конструкторы всех его базовых классов. Когда происходит вызов конструктора класса Base, указатель на таблицу виртуальных функций указывает на таблицу класса Base, а уже при вызове конструктора класса Derived - на класс Derived. Поэтому не рекомендуется вызывать виртуальные функции из конструктора.

Что будет выведено на экран?
Anonymous voting

Что будет выведено на экран? Вопрос: https://proghub.dev/q/cc2b82 Добавить свой вопрос
Что будет выведено на экран? Вопрос: https://proghub.dev/q/cc2b82 Добавить свой вопрос

Что верно о алгоритме быстрой сортировки?
Anonymous voting

Ребята, всем привет. Начинаем возобновлять постинг на каналах😘

Ребята в ближайшее время постов в канале не будет. Один из админов канала в данный момент ценой своей жизни защищает Украину от Российских захватчиков. Призываю вас поддерживать армию по ссылке: https://savelife.in.ua/donate/ Слава Україні! 🇺🇦

☝️Объяснение: Ошибка компиляции, так как при декларации `A::createB()` , `friend` класса `B`, компилятор должен знать, что `createB` существует. Так как функция видна только в её определении после определения класса `B`, то компилятор выдаст ошибку.

Что выведет программа?
Anonymous voting

Куда указывает итератор ptr после выполнения следующих двух строк кода?
Anonymous voting

Куда указывает итератор ptr после выполнения следующих двух строк кода? ? Тест: https://proghub.ru/t/cpp-stl Добавить свой во
Куда указывает итератор ptr после выполнения следующих двух строк кода? ? Тест: https://proghub.ru/t/cpp-stl Добавить свой вопрос

Какой символ разрешен в имени идентификатора переменной?
Anonymous voting

☝️Объяснение: Мы кидаем `SpecialException`. Оно унаследовано от `GeneralException`, но принимается по значению, поэтому динамический тип e будет `GeneralException`, не `SpecialException`. В С++ community такой эффект называют ещё `slicing`. Мы должны принимать `exception` по ссылке `catch (GeneralException& e)`, тогда динамический тип будет `SpecialException`, и программа выведет `S`.

Что выведет программа?
Anonymous voting

Какой будет выход из следующей программы?
Anonymous voting

Какой будет выход из следующей программы? Вопрос: https://proghub.ru/q/abd3ab Добавить свой вопрос
Какой будет выход из следующей программы? Вопрос: https://proghub.ru/q/abd3ab Добавить свой вопрос