|
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 3
|
||||||
ООП, первые шаги11.04.2017, 13:43. Показов 784. Ответов 9
Метки нет (Все метки)
Доброго времени суток!
Собственно, начал изучать С++. Решил наваять небольшую програмку, которая выводит что-то типа текстового меню. Создал классы: menu(само меню) и производный от него item(строки меню). Моя задумка: при создании объекта menu в его конструкторе создаются объекты item, тем самым наполняя меню. Программа компилируется но при запуске выдает segmentation fault. Если класс item не наследовать от menu - все работатет. Прошу помощи. И сразу еще вопросы: 1. Я так понимаю, у родительского объекта просто так, без телодвижений нельзя взять список порожденных от него дочерних объектов? 2. Деструкторы. Я понимаю, что при (new объект) выделяется область в памяти для хранения объекта. Но так ли потом необходим delete объект касательно моей программы? Объектов item мало, они не пересоздаются в процессе работы. Кликните здесь для просмотра всего текста
Заранее благодарен за ответы!
0
|
||||||
| 11.04.2017, 13:43 | |
|
Ответы с готовыми решениями:
9
Первые шаги. Первые шаги в программированнии! |
|
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 3
|
||||||
| 11.04.2017, 15:34 [ТС] | ||||||
|
Кликните здесь для просмотра всего текста
при запуске вываливается exit value -1, а по моей задумке должно выводить: menu1: item item item item item
0
|
||||||
|
Любитель чаепитий
|
|
| 11.04.2017, 15:57 | |
|
ну, не удивительно.
когда ты пытаешься создать экземпляр класса item - автоматически вызывается конструктор по-умолчанию класса menu(т.к. он базоый), а в этом конструкторе вызываются создание экземпляра item, который в свою очередь снова дергает конструктор класса menu, и т.д. получается рекурсия, которая забивает стек.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 11.04.2017, 20:26 | ||
|
у вас все в порядке с логикой? код не читал. очевидно жеж, говнокод начинается вот здесь: class item: public menuу вас menu создает items, а item - menu. бесконечная рекурсия, перереполнение стека, и живительная эвтаназия от операцинки.
0
|
||
|
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
|
||||||
| 11.04.2017, 21:09 | ||||||
0
|
||||||
|
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
|
|
| 11.04.2017, 21:29 | |
|
Что не так?
0
|
|
|
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 3
|
||||
| 12.04.2017, 10:39 [ТС] | ||||
|
Отдельная строка меню, по моему замыслу, будет наследовать от меню некоторые методы, например draw(), некоторые переменные, например name. Для меня пока не очевидно, что при создании объекта item создается объект menu еще раз, конструкторы-то разные. Гворя по другому: при рождении у матери ребенка не появляется же еще одна мать ![]()
0
|
||||
|
Любитель чаепитий
|
||||
| 12.04.2017, 10:42 | ||||
|
0
|
||||
| 12.04.2017, 10:42 | |
|
Помогаю со студенческими работами здесь
10
Первые шаги в освоении С++ Первые шаги: ничего не получается Первые шаги: есть ли ошибки в программе? Поделитесь опытом. С чего вы начинаете новый проект? Первые шаги? Вызов точки останова во время выхода (первые шаги в классах 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. Пошагово создадим проект для загрузки изображения. . .
|