18 / 18 / 2
Регистрация: 23.02.2012
Сообщений: 132
|
|
1 | |
Множественное наследование07.12.2018, 08:11. Показов 850. Ответов 7
Всем привет.
Не могу понять следующий подход. Объясните немного, дальше я сам разберусь. Есть класс данных Data. Есть абстрактный класс Node со свойствами next, prev. На их основе создан класс DataNode. Создаю класс List. Но есть условие, в классе List входные, выходные типы могут быть только Node. И работать внутри функций я могу только с Node. Но передавать в функции класса List должен тип DataNode. А теперь вопрос: Как я из класса List, могу работать с данными класса DataNode, если получаемый тип сделан Node. При создании кода компилятор не увидит же ничего, что не определено в классе Node. Значить нужно создать виртуальные функции работы с данными. Но ведь класс Node не знает о классе Data. Как это реализуется?
0
|
07.12.2018, 08:11 | |
Ответы с готовыми решениями:
7
Множественное наследование Множественное наследование Множественное наследование Множественное наследование |
7 / 7 / 5
Регистрация: 25.03.2018
Сообщений: 377
|
||||||
07.12.2018, 09:42 | 2 | |||||
Ну, я предполагаю, что DataNode - производный класс от Node. А Data можно было забацать как union, т.к. это класс данных.
Что-то вроде такого:
0
|
18 / 18 / 2
Регистрация: 23.02.2012
Сообщений: 132
|
|||||||||||
07.12.2018, 09:52 [ТС] | 3 | ||||||||||
Не совсем.
Тут множественное наследование.
по условию задачи я могу использовать только Node:
0
|
166 / 109 / 57
Регистрация: 30.08.2018
Сообщений: 357
|
||||||
07.12.2018, 14:53 | 4 | |||||
Нужно текст задачи посмотреть
Наколенный вариант
0
|
7 / 7 / 5
Регистрация: 25.03.2018
Сообщений: 377
|
|
07.12.2018, 14:58 | 5 |
Не выйдет такого. Условие корявое(я так считаю), т.к. в первый раз вы сказали, что тип должен быть только Node, а потом пишется, что должен быть DataNode
0
|
18 / 18 / 2
Регистрация: 23.02.2012
Сообщений: 132
|
|
07.12.2018, 15:00 [ТС] | 6 |
Спасибо за подсказку. Дальше я уже сам.
Еще вопрос. Учитывая, что класс Node не знает класс Data и в классе List можно использовать только класс Node. Дружественные функции как использовать? Например переопределение оператора << можно сделать?
0
|
166 / 109 / 57
Регистрация: 30.08.2018
Сообщений: 357
|
||||||
07.12.2018, 15:19 | 7 | |||||
Wurgengel, сделать для всего списка вывод в поток. Для узлов отдельно не делать.
0
|
18 / 18 / 2
Регистрация: 23.02.2012
Сообщений: 132
|
|
07.12.2018, 15:29 [ТС] | 8 |
Спасибо. Вечером попробую написать.
0
|
07.12.2018, 15:29 | |
07.12.2018, 15:29 | |
Помогаю со студенческими работами здесь
8
Множественное наследование множественное наследование Множественное наследование Множественное наследование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |