|
0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 69
|
||||||||||||||||
Иерархия. Наследование классов01.05.2020, 14:26. Показов 18839. Ответов 2
Метки нет (Все метки)
У меня возникла ошибка в main.cpp, строка 12, пишет: "значение типа "cl_base*" нельзя использовать для инициализации сущности типа "cl_base2*" ". Не знаю как это исправить.
Само задание. Для организации иерархического построения объектов необходимо разработать базовый класс, который содержит функционал и свойства для построения иерархии объектов. В последующем, в приложениях использовать этот класс как базовый для всех создаваемых классов. Это позволит включать любой объект в состав дерева иерархии объектов. Создать базовый класс со следующими элементами: Свойства: - наименование объекта (строкового типа); - указатель на головной объект для текущего объекта (для корневого объекта значение указателя равно 0); - список указателей на объекты подчиненных к текущему объекту в дереве иерархии. Функционал: - параметризированный конструктор с параметром указателя на головной объект в дереве иерархии; - параметризированный конструктор с параметром указателя на головной объект в дереве иерархии и наименованием объекта; - метод задания имени объекта; - метод получения имени объекта; - метод вывода наименований объектов в дереве иерархии слева направо и сверху вниз. Написать программу, которая последовательно строит дерево иерархии объектов, слева направо и сверху вниз. Переход на новый уровень происходит от правого (последнего) объекта предыдущего уровня. Для построения дерева использовать объекты двух производных классов, наследуемых от базового. Каждый объект имеет уникальное имя. Построчно, по уровням вывести наименования объектов построенного иерархического дерева. Входные данные Первая строка: «имя корневого объекта» Создается корневой объект. Вторая строка и последующие строки: «имя головного объекта» «имя подчиненного объекта» Создается подчиненный объект и добавляется в иерархическое дерево. Если «имя головного объекта» равняется «имени подчиненного объекта», то новый объект не создается и построение дерева объектов завершается. Пример ввода Object_root Object_root Object_1 Object_root Object_2 Object_root Object_3 Object_3 Object_4 Object_3 Object_5 Object_6 Object_6 Дерево объектов, которое будет построено по данному примеру: Object_root Object_1 Object_2 Object_3 Object_4 Object_5 Выходные данные Первая строка: «имя корневого объекта» Вторая строка и последующие строки имена головного и подчиненных объектов очередного уровня разделенных двумя пробелами. «имя головного объекта» «имя подчиненного объекта»[[ «имя подчиненного объекта»] …….] Пример вывода Object_root Object_root Object_1 Object_2 Object_3 Object_3 Object_4 Object_5 Это код который я написал. Osnova.h
0
|
||||||||||||||||
| 01.05.2020, 14:26 | |
|
Ответы с готовыми решениями:
2
Множественное наследование. Иерархия классов Задача на множественное наследование, иерархия классов Иерархия классов, наследование (Млекопитающие, Парнокопытные, Птицы, Животное) |
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||
| 01.05.2020, 16:05 | |||||||
Сообщение было отмечено Astreemonter как решение
Решение
1
|
|||||||
|
0 / 0 / 0
Регистрация: 21.11.2021
Сообщений: 2
|
|
| 21.11.2021, 22:13 | |
|
Почему то выдаёт free():˽double˽free˽detected˽in˽tcache˽2 ↵
Aborted˽(core˽dumped)↵ Помогите пожалуйста
0
|
|
| 21.11.2021, 22:13 | |
|
Помогаю со студенческими работами здесь
3
Абстрактный базовый класс и множественное наследование (либо иерархия классов) Одиночное наследование, иерархия классов "Шахматная фигура" Наследование, иерархия, коллекция, декомпозиция Автоматическая генерация классов С ++ с UML диаграмм классов. Наследование в с++. Абстрактные классы. WhiteStarUML
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера 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. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|