Курсовая работа: Дерево иерархии объектов

Новинка

Описание

Первая из 5 работ по ООП в Авроре Для организации иерархического построения объектов необходимо разработать базовый класс, который содержит функционал и свойства для построения иерархии объектов. В последующем, в приложениях использовать этот класс как базовый для всех создаваемых классов. Это позволит включать любой объект в состав дерева иерархии объектов.
Каждый объект на дереве иерархии имеет свое место и наименование. Не допускается для одного головного объекта одинаковые наименования в составе подчиненных объектов. Создать базовый класс со следующими элементами:
  • свойства:
    • наименование объекта (строкового типа);
    • адрес головного объекта для текущего объекта (для корневого объекта значение адреса равен nullptr);
    • динамический массив адресов объектов, подчиненных к текущему объекту в дереве иерархии.
  • функционал:
    • параметризированный конструктор с параметрами: указатель на объект базового класса, содержащий адрес головного объекта в дереве иерархии; строкового типа, содержащий наименование создаваемого объекта (имеет значение по умолчанию);
    • метод редактирования имени объекта. Один параметр строкового типа, содержит новое наименование объекта. Если нет дубляжа имени подчиненных объектов у головного, то редактирует имя и возвращает «истину», иначе возвращает «ложь»;
    • метод получения имени объекта;
    • метод получения адреса головного объекта текущего объекта;
    • метод получения количества подчиненных объектов текущего объекта;
    • метод вывода наименований объектов в дереве иерархии слева направо и сверху вниз;
    • метод получения адреса непосредственно подчиненного объекта по его имени. Если объект не найден, то возвращает nullptr. Один параметр строкового типа, содержит наименование искомого подчиненного объекта;
    • метод получения адреса непосредственно подчиненного объект по его индексу. Допустимые значения индекса от 1 до количества подчиненных объектов. Индексация подчиненных объектов выстраивается согласно порядку добавления головному объекту. Если значение индекса не принадлежит данному интервалу, то возвращает nullptr. У метода один параметр целого типа, содержит значение индекса подчиненного объекта;
    • метод деструктора, который удаляет все объекты на ветке текущего объекта..
Для построения дерева иерархии объектов в качестве корневого объекта используется объект приложение. Класс объекта приложения наследуется от базового класса. Объект приложение реализует следующий функционал:
  • метод построения исходного дерева иерархии объектов (конструирования моделируемой системы);
  • метод запуска приложения (начало функционирования системы, выполнение алгоритма решения задачи).
Написать программу, которая последовательно строит дерево иерархии объектов, слева направо и сверху вниз. Переход на новый уровень происходит только от правого (последнего) объекта предыдущего уровня. Для построения дерева использовать объекты двух производных классов, наследуемых от базового. Исключить создание объекта если его наименование совпадает с именем уже имеющегося подчиненного объекта у предполагаемого головного. Исключить добавление нового объекта, не последнему подчиненному предыдущего уровня.
Построчно, по уровням вывести наименования объектов построенного иерархического дерева.
Поменять наименования объектов на уровнях иерархии выбранных по их индексам.
Если номер уровня или индекса заданы некорректно, то редактирование не выполняется.
После редактирования имен построчно, по уровням вывести наименования объектов иерархического дерева.
Основная функция должна иметь следующий вид
Наименование класса cl_application и идентификатора корневого объекта ob_cl_application могут быть изменены разработчиком.
Все версии курсовой работы имеют такую основную функцию.
В данной версии курсовой работы в методе bild_tree_objects ( ) выполняется только построение дерева иерархии объектов.
При решении задачи необходимо руководствоваться методическим пособием и приложением к методическому пособию. При решении задачи не допускается использование расширений языка, которые вы не в состоянии корректно описать в виде алгоритма (Например range-based for).

Характеристики курсовой работы

Учебное заведение
Семестр
Просмотров
0
Размер
1,03 Mb

Список файлов

document (5).pdf

Комментарии

Нет комментариев
Стань первым, кто что-нибудь напишет!
Поделитесь ссылкой:
Цена: 900 руб.
Расширенная гарантия +3 недели гарантии, +10% цены
Рейтинг автора
5 из 5
Поделитесь ссылкой:
Сопутствующие материалы

Подобрали для Вас услуги

-30%
Вы можете использовать курсовую работу для примера, а также можете ссылаться на неё в своей работе. Авторство принадлежит автору работы, поэтому запрещено копировать текст из этой работы для любой публикации, в том числе в свою курсовую работу в учебном заведении, без правильно оформленной ссылки. Читайте как правильно публиковать ссылки в своей работе.
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7224
Авторов
на СтудИзбе
248
Средний доход
с одного платного файла
Обучение Подробнее