Форум программистов, компьютерный форум CyberForum.ru

Как можно реализовать наследие между параллелограммом и параллелепипедом? - C++

Восстановить пароль Регистрация
 
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
18.03.2014, 20:48     Как можно реализовать наследие между параллелограммом и параллелепипедом? #1
Подскажите,пожалуйста,как можно реализовать наследие между параллелограммом и параллелепипедом??
Задание:
Описать иерархию классов: прямая (координаты двух точек), параллелограмм наследует прямую, являющуюся его диагональю, параллелепипед наследует параллелограмм, являющийся его гранью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 20:48     Как можно реализовать наследие между параллелограммом и параллелепипедом?
Посмотрите здесь:

как можно реализовать даную программу на свойство length C++
C++ Как это можно реализовать
C++ Помогите с задачей или подскажите как ее можно реализовать!!!
C++ как можно реализовать это в коде?
Как в CListCtrl можно реализовать редактирование ? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
18.03.2014, 20:52     Как можно реализовать наследие между параллелограммом и параллелепипедом? #2
Параллелепипед - это шесть параллелограммов. Если подумать, то хватит информации о двух параллелограммах (а-ля координат восьми точек) для воспроизведения параллелепипеда в пространстве.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
18.03.2014, 23:37     Как можно реализовать наследие между параллелограммом и параллелепипедом? #3
Кто придумывает такие задания? Если один класс B наследует от класса А, то для них справедливо будет сказать "В является А". Параллелепипед является параллелограммом? А параллелограмм - пряомй? Нет. Поэтому на вопрос
Цитата Сообщение от KyKi Посмотреть сообщение
как можно реализовать наследие между параллелограммом и параллелепипедом?
Ответ - никак.

Не по теме:

Кирпич наследует от глины, дом наследует от кирпича...

KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
18.03.2014, 23:49  [ТС]     Как можно реализовать наследие между параллелограммом и параллелепипедом? #4
John Prick, к сожалению не я придумываю задания а если есть задача должно быть и какое-то решение,преподу не объяснишь,что он некорректно поставил задание
John Prick
18.03.2014, 23:54
  #5

Не по теме:

KyKi, как знать. Если препод адекватный, то поймёт. Хотя, если бы он был адекватным, не давал бы такие задания...
К тому же подобные задания, мягко говоря, мешают правильному пониманию в общем-то непростой темы наследования.

zener
22 / 9 / 1
Регистрация: 16.10.2010
Сообщений: 115
19.03.2014, 00:08     Как можно реализовать наследие между параллелограммом и параллелепипедом? #6
Наверное имелось ввиду не отношение Is-a, а отношение Has-a
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
19.03.2014, 00:22     Как можно реализовать наследие между параллелограммом и параллелепипедом? #7
zener, что подразумеваете под has-a ?
DrOffset
6461 / 3835 / 886
Регистрация: 30.01.2014
Сообщений: 6,630
19.03.2014, 00:30     Как можно реализовать наследие между параллелограммом и параллелепипедом? #8
zener, Тогда это не наследование. Это агрегирование.
Есть правда еще приватное наследование, которое реализует has-a. Но реализация параллелепипеда потребует, как уже сказали, 8 точек. Наследоваться от одного класса дважды (без неуместных извращений) все равно не получится.
В общем логики в задании - ноль. Интересно посмотреть "каноническое решение" от преподавателя.
zener
22 / 9 / 1
Регистрация: 16.10.2010
Сообщений: 115
19.03.2014, 17:11     Как можно реализовать наследие между параллелограммом и параллелепипедом? #9
Is-a - отношение наследования (классификации)
Has-a - отношение принадлежности.
Как сказал DrOffset, это агрегирование.
Да, логики нет в постановке задачи.
Порой бывает, что не прав юный подаван, нежели сенсэй
Может не так поняли задачу?
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
19.03.2014, 19:48  [ТС]     Как можно реализовать наследие между параллелограммом и параллелепипедом? #10
Я написала текст задачи не полностью,возможно в нем и есть логика,если прочесть всю задачу,а она звучит так:
Описать иерархию классов: прямая (координаты двух точек), параллелограмм наследует прямую, являющуюся его диагональю, параллелепипед наследует параллелограмм, являющийся его гранью.
Реализовать методы: конструкторы классов без параметров, конструкторы классов с параметрами, функции вывода значений закрытых полей данных, функции доступа к закрытым данным, виртуальные функции вычисления какого-либо значения: для класса прямая возвращает ее длину, для класса параллелограмм возвращает его площадь, для класса параллелепипед призма возвращает его площадь поверхности.
Но сути это не меняет..все равно не понимаю наследственной связи между ними
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
19.03.2014, 20:27     Как можно реализовать наследие между параллелограммом и параллелепипедом? #11
Цитата Сообщение от KyKi Посмотреть сообщение
параллелепипед наследует параллелограмм, являющийся его гранью.
Что бы вообразить в пространстве параллелепипед недостаточно одной грани (всего четыре точки, а надо восемь), поэтому просто через одну грань без второй все сделать - нереально.
Поэтому предлагаю план в пяти шагах:
1) Сделать иерархию криво и, скорее всего, как хочет препод. Унаследовать чертов параллелепипед через параллелограмм (получаем is-a и первую грань) и добавить как приватный член класса (has-a) тот же параллелограмм (вот и вторая грань). Получается черезодноместная реализация, но по условию.
2) Следующим шагом будет являться создание нормальной иерархии, полностью has-a, как мы себе это представляем, как есть в реальном мире.
3) Осталось показать преподу обе программы и объяснить свою точку зрения.
4) ...
5) PROFIT!!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2014, 20:35     Как можно реализовать наследие между параллелограммом и параллелепипедом?
Еще ссылки по теме:

Как это можно реализовать? C++
Как можно реализовать ? C++
Как можно реализовать ввод данных в одну строку? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
19.03.2014, 20:35  [ТС]     Как можно реализовать наследие между параллелограммом и параллелепипедом? #12
DrOffset, я вам предоставлю потом решение преподавателя))
Yandex
Объявления
19.03.2014, 20:35     Как можно реализовать наследие между параллелограммом и параллелепипедом?
Ответ Создать тему
Опции темы

Текущее время: 17:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru