тыжПрограммист
330 / 144 / 44
Регистрация: 21.04.2014
Сообщений: 638
|
|||||||||||
1 | |||||||||||
Иерархия объектов и динамические списки внутри класса07.01.2015, 15:38. Показов 4932. Ответов 17
Метки нет (Все метки)
собственно есть задание
План действий. 1. Создаю абстрактный класс Университет 2. От класса Университет наследуется класс Факультет(содержащий в себе динамический список Факультетов) 3. От класса Факультет наследуется класс Кафедра(содержащий в себе динамический список Кафедр) 4. От класса Кафедра наследуется класс Преподаватели (содержащий в себе динамический список Преподавателей) 5. От класса Факультет наследуется класс СтудГруппа(содержащий в себе динамический список СтудГрупп) 6. От класса СтудГруппа наследуется класс Студент(содержащий в себе динамический список Студентов) Если я в чём-то не прав - напишите. Может можно как-то проще сделать). И теперь самые главные вопросы. Как создать динамический список внутри класса НЕ ИСПОЛЬЗУЯ STL-контейнеры? Что такое динамические списки и как с ними работать - знаю..но только вне класса.. Если взять для примера класс студент,то получается так:
и как потом мне объекты STUDENTGROUP1 STUDENTGROUP2 добавить в динамический список СтудГрупп. Пока писал тут..снова запутался..как эти иерархии составлять В общем если кто-то понял данный текст укажите на ошибки и в правильном ли направлении мои извилины шевелятся?
0
|
07.01.2015, 15:38 | |
Ответы с готовыми решениями:
17
Массив разных объектов внутри класса Иерархия классов , списки Иерархия геометрических объектов Комопзиция объектов/иерархия классов |
7795 / 6561 / 2985
Регистрация: 14.04.2014
Сообщений: 28,682
|
|
07.01.2015, 17:48 | 2 |
А здесь вообще нужна иерархия в смысле ООП? Классы просто содержат списки других классов. Это не наследование. Похоже на описание БД.
0
|
тыжПрограммист
330 / 144 / 44
Регистрация: 21.04.2014
Сообщений: 638
|
|
07.01.2015, 17:59 [ТС] | 3 |
0
|
7795 / 6561 / 2985
Регистрация: 14.04.2014
Сообщений: 28,682
|
|
07.01.2015, 19:58 | 4 |
Ну вот с картинки и надо было начать. Первая схема показывает иерархию. Так и описывай.
0
|
тыжПрограммист
330 / 144 / 44
Регистрация: 21.04.2014
Сообщений: 638
|
|
07.01.2015, 20:02 [ТС] | 5 |
Абстрактная группа в c++ это что?..как это реализовывается?
0
|
7795 / 6561 / 2985
Регистрация: 14.04.2014
Сообщений: 28,682
|
|
07.01.2015, 20:29 | 6 |
Наверное, имеется в виду абстрактный класс, который содержит список элементов Персона.
1
|
тыжПрограммист
330 / 144 / 44
Регистрация: 21.04.2014
Сообщений: 638
|
||||||||||||||||
07.01.2015, 20:43 [ТС] | 7 | |||||||||||||||
Да. Спасибо. Вроде как сдвинулся с места. Теперь другая проблема. Как реализовать динамический список внутри класса..Я сделал так
Выход есть - статический HEAD. Но тогда пропадает возможность создания нескольких объектов данного типа. Так как HEAD везде будет одинаковым. Можете подсказать решение проблемы?
0
|
7795 / 6561 / 2985
Регистрация: 14.04.2014
Сообщений: 28,682
|
|
07.01.2015, 21:00 | 8 |
Список предполагает только head, зачем тебе next? Может проще STL использовать?
И список нужен именно в традиционном понимании или достаточно массива?
0
|
тыжПрограммист
330 / 144 / 44
Регистрация: 21.04.2014
Сообщений: 638
|
|
07.01.2015, 21:05 [ТС] | 9 |
В традиционном понимании).
Я бы с радостью и STL использовал. Но преподаватель попросил сделать в традиционном понимании. Сколько помню и на C и на паскале так писал)...Может я чего упустил
0
|
7795 / 6561 / 2985
Регистрация: 14.04.2014
Сообщений: 28,682
|
|
07.01.2015, 21:29 | 10 |
Хранится только head. Ну иногда ещё tail. А всё остальное получается просмотром. Я имею в ввиду, что в самом классе next не нужен, только внутри функций, если алгоритм требует.
0
|
тыжПрограммист
330 / 144 / 44
Регистрация: 21.04.2014
Сообщений: 638
|
|
07.01.2015, 21:34 [ТС] | 11 |
а,вы это имели ввиду. Ну,да.
В любом случае как можно пофиксить проблему с созданием нового объекта данного типа? Я так понимаю..нужно при создании первого элемента держать где-то указатель на голову..И внутри класса это неподходящий вариант.
0
|
7795 / 6561 / 2985
Регистрация: 14.04.2014
Сообщений: 28,682
|
|
07.01.2015, 21:37 | 12 |
head - член класса, все остальные вспомогательные переменные в соответствующих функциях.
0
|
тыжПрограммист
330 / 144 / 44
Регистрация: 21.04.2014
Сообщений: 638
|
||||||||||||||||
07.01.2015, 21:46 [ТС] | 13 | |||||||||||||||
я вам рыбу - вы мне мясо..или я тупой..другого не дано).
то что head член класса это ясно. Проблема в том что если я создам объект типа Base и добавлю туда несколько данных
если сделать указатель head статическим то во всех объектах он будет одинаковым..тобишь если я опять
Поэтому я ищу метод создания двух НЕЗАВИСИМЫХ динамических списков. А держать кучу переменных вне классов - не удобно..Вот я и подумал что возможно есть какое-нибудь элегантное решение проблемы.
0
|
7795 / 6561 / 2985
Регистрация: 14.04.2014
Сообщений: 28,682
|
|
07.01.2015, 22:03 | 14 |
А, я понял. Ну тогда надо предусмотреть next уже в Tobject, как указатель на следующий элемент в цепочке.
Добавлено через 25 секунд Либо какую-то структуру придумывать.
0
|
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 5
|
|
03.04.2017, 14:29 | 15 |
LonerZzz, можешь пожалуйста кинуть весь код вот этого задания мне
Иерархия объектов создается следующим образом (на примере ФАКУЛЬТЕТА): а) создается пустой ФАКУЛЬТЕТ, б) создается пустая КАФЕДРА, в) создаются ПРЕПОДАВАТЕЛИ и включаются в КАФЕДРУ, г) КАФЕДРА включается в ФАКУЛЬТЕТ, д) тоже повторяется для другой кафедры, е) создается пустая СТУДЕНЧЕСКАЯ ГРУППА, ж) создаются СТУДЕНТЫ и включаются в СТУДЕНЧЕСКУЮ ГРУППУ, з) СТУДЕНЧЕСКАЯ ГРУППА включается в ФАКУЛЬТЕТ, и) тоже повторяется для другой студенческой группы.
0
|
тыжПрограммист
330 / 144 / 44
Регистрация: 21.04.2014
Сообщений: 638
|
|
03.04.2017, 19:21 [ТС] | 16 |
Это было так давно..Я ещё и ООП тогда не знал..
Тот код уже давным давно в помойке...И для примера он едва ли годился
1
|
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 5
|
|
03.04.2017, 21:24 | 17 |
Я поняла, а сейчас уже разбираешься в ООП хорошо??
0
|
тыжПрограммист
330 / 144 / 44
Регистрация: 21.04.2014
Сообщений: 638
|
|
04.04.2017, 14:06 [ТС] | 18 |
0
|
04.04.2017, 14:06 | |
04.04.2017, 14:06 | |
Помогаю со студенческими работами здесь
18
Иерархия объектов. Привязывание/отвязывание узлов Иерархия объектов для battle city Динамические списки Динамические списки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |