Может ли в C++ класс выступать в качестве базового для себя самого?
В C++ класс действительно не может выступать в качестве базового для себя самого. Это ограничение существует по нескольким важным причинам:
- Если бы класс мог наследовать сам себя, это привело бы к бесконечной рекурсии в определении класса.
- Размер объекта класса стал бы неопределенным. Каждый экземпляр содержал бы в себе другой экземпляр того же класса.
- Невозможно было бы создать экземпляр такого класса, так как конструктор должен был бы вызывать сам себя бесконечное число раз.
- Это привело бы к циклическим зависимостям в иерархии классов, что сделало бы невозможным определение порядка вызова конструкторов и деструкторов.
- Возникла бы неоднозначность при разрешении имен методов и полей — какая версия метода должна быть вызвана: из базового класса или из производного.
- Такая структура нарушала бы основные принципы объектно-ориентированного программирования, например такой как иерархия классов.
Что выведет код?
Anonymous Quiz
15%
1
10%
Ничего
39%
2
10%
Не скомпилируется
25%
Неопределённое поведение
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Какой вид полиморфизма позволяет создавать несколько методов с одним именем, но разными аргументами?
Anonymous Quiz
49%
Параметрический полиморфизм
12%
Ad-hoc полиморфизм
17%
Динамический полиморфизм
22%
Функциональный полиморфизм
🫠 Что такое this в C++?
В C++ ключевое слово this — это указатель на текущий объект класса, внутри которого оно используется.
Вот основные моменты, связанные с this в C++:
- Это неявный параметр для нестатических методов класса
- this указывает на конкретный экземпляр объекта, для которого вызывается метод
- Используется для разрешения конфликтов имен между параметрами метода и членами класса
- Позволяет методам возвращать ссылку на текущий объект, что полезно для цепочки вызовов
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Как часто вам задают странные вопросы на собеседовании?
Anonymous Poll
12%
Никогда такого не было
25%
Иногда
33%
Не хожу на собеседования
16%
Постоянно
14%
А что это такое?
🦊 Какие модификаторы доступа существуют в C++?
Модификаторы доступа:
public — члены класса доступны из любой части программы.
private — члены класса доступны только внутри самого класса.
protected — члены класса доступны внутри класса и в производных классах.
Также есть дополнительные модификаторы:
friend — позволяет функциям или классам, объявленным как друзья, получать доступ к private и protected членам.
Что будет при запуске кода?
Anonymous Quiz
7%
Выведется Test your mind
51%
Выведется Te
37%
Неопределённое поведение
5%
Ничего не выведется
😎 Что такое std::sample?
std::sample — алгоритм который позволяет брать случайный элемент из диапазона. Был введён в C++ 17.
Описание его функциональности:
1. Выбирает n уникальных элементов случайным образом из входного диапазона
2. Копирует выбранные элементы в выходной диапазон
3. Сохраняет относительный порядок выбранных элементов
Синтаксис:
- input_begin и input_end — итераторы входного диапазона
- output_begin — итератор выходного диапазона
- n — количество элементов для выборки
- generator — генератор случайных чисел
std::sample(input_begin, input_end, output_begin, n, generator);
Что содержит библиотека std::numbers в C++?
Anonymous Quiz
4%
Числа от 1 и до 1000
16%
Оптимизированные типы данны(int, double и др.)
45%
Константы (Pi и др.)
1%
Число Авокадо
34%
Такой библеотеки нет в C++
👁🗨 Как найти среднее значения в C++?
В C++20 появилась функция std::midpoint. Она как раз и находит среднее между двумя числами или указателями
Примеры использования:
- Для чисел: если у вас есть числа 10 и 20, std::midpoint вернет 15
- Для указателей: если у вас есть два указателя, std::midpoint найдет указатель находящийся между ними
👉Документация
Примеры использования:
- Для чисел: если у вас есть числа 10 и 20, std::midpoint вернет 15
- Для указателей: если у вас есть два указателя, std::midpoint найдет указатель находящийся между ними
👉
Куда помещаются объекты, созданные с помощью оператора new в языке C++?
Anonymous Quiz
5%
Кэш
13%
На стек
2%
В коробочку
80%
Куча