|
1 / 1 / 0
Регистрация: 11.12.2017
Сообщений: 44
|
|
Теоретические вопросы по азам С++11.12.2017, 12:51. Показов 1141. Ответов 21
Метки нет (Все метки)
1. в каких случаях надо писать конструктор по умолчанию?
Если нету своего констуктора с аргументами. 2. когда нужно реализовать самому конструктор копирования? Вот этого я не знаю(( 3. когда можно не реализовать самом конструктор копирования? Станадарный вызовется при кампиляции. Но когда не нужно я не знаю(( 4. в каких случаях надо писать собственный оператор присваивания? Вот этого я не знаю(( 5. в каких случаях оператор присваивания нельзя не реализовать самому? Вот этого я не знаю(( 6. можно запретить вызов конструктора по умолчанию. если да то как? да, delete C++11, или в private записать конструктор 7. можно вызвать виртуальную ф-ю из конструктора класса? нет 8. можно вызвать виртуальную ф-ю с декструктора класса? да можно 9. какая временная оценка поиска элемента в массиве по сравнению с хэш таблицей? O(1) Напишите что правильно, а что нет и почему не првально+ на что я незнаЮ. если можно напишите ответ или книгу где я могу про это прочитать
0
|
|
| 11.12.2017, 12:51 | |
|
Ответы с готовыми решениями:
21
Классы, теоретические вопросы Теоретические вопросы по функциям в языке С и C++ |
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
|
| 11.12.2017, 13:30 | |
|
Вопросы 1-8 рассматриваются например у Дейтелов в рамках разделов: классы, перегрузка операций, полиморфизм. Наверное в более свежих учебниках тоже есть ответы на эти вопросы.
0
|
|
|
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
|
|
| 11.12.2017, 13:55 | |
|
9. У массива O(N)
0
|
|
|
16 / 17 / 3
Регистрация: 23.09.2017
Сообщений: 39
|
||||||||||
| 11.12.2017, 15:30 | ||||||||||
|
А может быть на массиве реализована хеш-таблица.
1
|
||||||||||
|
16 / 17 / 3
Регистрация: 23.09.2017
Сообщений: 39
|
|||||||
| 12.12.2017, 20:38 | |||||||
0
|
|||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 12.12.2017, 20:46 | |
|
LimeBush, поясни.
0
|
|
|
16 / 17 / 3
Регистрация: 23.09.2017
Сообщений: 39
|
|
| 12.12.2017, 20:50 | |
|
nmcf, что пояснить? Почему вызывается Base::foo, а не Derived::foo?
P.S. По поводу не виртуального вызова - имеется ввиду, что вызовется функция этого класса, либо предка, но не наследника.
0
|
|
|
|
|
| 12.12.2017, 20:56 | |
|
Вопросы довольно абстрактные. Ну вот например, как понимать «когда нужен конструктор копирования»?
Классический ответ - «когда у нас в классе хранится указатель» Но ведь тут же не обязательно именно указатель - указатели это лишь один из примеров обоснования необходимости конструктора копий! Можно привести примеры классов, содержащих не указатели, а скажем дескрипторы каких-либо ресурсов, типа: файлов, сокетов, мьютексов, потоков И так далее... Ну и как все эти примеры обобщить одной фразой, чтобы она при этом содержала конкретику?! Я скажу, конструктор копий нужен, когда логическое представление экземпляра класса может хранить в себе нечто большее, чем набор из его sizeof байт! Но ведь это настолько неконкретно-расплывчатые слова!!!
0
|
|
|
16 / 17 / 3
Регистрация: 23.09.2017
Сообщений: 39
|
||
| 12.12.2017, 21:03 | ||
|
nmcf, C++14 12.7/4
2
|
||
|
Комп_Оратор)
|
|||||||
| 12.12.2017, 22:25 | |||||||
|
LimeBush,
0
|
|||||||
|
16 / 17 / 3
Регистрация: 23.09.2017
Сообщений: 39
|
||||||
| 12.12.2017, 22:58 | ||||||
|
Можешь убрать у foo виртуальность и получишь то же самое. Ты какую-то необъяснимую лабуду написал, которая к рассматриваемому вопросу отношения не имеет. Виртуальность предполагает позднее связывание. В деструкторе объекта-наследника уже нет, поэтому будет вызов функции из текущего класса (либо из предка, либо неопределенное поведение в случае, описанном выше цитатой из стандарта). ![]() http://rextester.com/FOF9270 ![]()
0
|
||||||
| 12.12.2017, 23:07 | |
|
Не по теме: Заколебали оффтопить! Тут аффтар вообще есть??!
0
|
|
|
Комп_Оратор)
|
|||
| 12.12.2017, 23:09 | |||
|
То что вы не понимаете, что деструктор это виртуальный метод (с рядом особенностей), это выше дело. Но учить этому вам никого не нужно. Если объявлен виртуальный метод, то виртуальностью можно воспользоваться лишь переопределив такой метод. Нет ничего особенного в том, что не переопределив деструктор его и не удастся запустить для наследника. С другой стороны, даже определив деструктор наследника, нужно понимать, что деструктор подкласса (родителя) может деинициализировать частьданных, относящихся к подклассу и быть осторожным при вызове виртуальных методов в виртуальных де6структорах. Но вызывать их можно. И в этом вы написали неправду. Впрочем, судя по вашему обращению, вам не нужно это всё. Поэтому, отвечать вам больше не буду.
0
|
|||
| 12.12.2017, 23:11 | |
|
Не по теме: IGPIGP, перечитай тему еще раз, может до тебя дойдет, что ты хрень пишешь. Покеда.
0
|
|
|
Комп_Оратор)
|
|||
| 12.12.2017, 23:12 | |||
|
Но это не оффтоп. Вот неверное утверждение и я об этом сказал:
0
|
|||
|
1 / 1 / 0
Регистрация: 11.12.2017
Сообщений: 44
|
|
| 13.12.2017, 14:05 [ТС] | |
|
Kuzia domovenok, есть. и я уже запуталась) по теме я только не много поняла.
0
|
|
|
16 / 17 / 3
Регистрация: 23.09.2017
Сообщений: 39
|
||
| 13.12.2017, 15:14 | ||
|
0
|
||
|
183 / 181 / 66
Регистрация: 15.02.2015
Сообщений: 515
|
|
| 13.12.2017, 16:09 | |
|
По поводу 2, 3, 4 ,5 - прочитайте про "правило трёх", потом про "правило пяти", а потом про "правило нуля". Опять же эти "правила" лишь рекомендации, можно спокойно программировать на "Си с классами" и делать рабочий продукт.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 13.12.2017, 16:27 | ||||
|
не понятно, с чего вы решили, что вирт. механизма при этом "не видать". полиморфная природа самого вызова никуда не девается. работает как часики. не очевидно с чего вы взяли своё "не видать".
0
|
||||
| 13.12.2017, 16:27 | |
|
Помогаю со студенческими работами здесь
20
Ответить на теоретические вопросы по заданному фрагменту кода Теоретические вопросы по БД Теоретические вопросы Теоретические вопросы Теоретические вопросы по c# Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|