![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
cyrrus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 7.5.2007 Репутация: нет Всего: нет |
Начел писать програму, но есть некоторые вопросы.
задача: Написать програму используя обьекты и реализовать наследственность классов. Ситуация: Океан с плавающими в нем рыбками. Океан - базовыи обьект, рыбы наследующии. а. Обьект океан имеет такие данные: координаты (океан-как куб с определионными координатами вершин) и течение( скорость и направление выбераем сами). б. Обьект рыб имеет координаты ( берем как координаты точки), скорость и направление. в. Посчитать координаты рыб в определенные моменты (например: после 1,2,3 секунд), когда измениается скорост течения и направление течения океана. г. Все результаты на екран и в фаил результатов. вот. Чтоб мне кто нибуть показал на этом примере наследственност, а то я не очень с етим. И я так понимаю это нада вводить с клавиатуры начальную скорост рыб и океана, а направление это + или - просто? В общем разъесните пожалуиста. |
|||
|
||||
Lomir |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 30.1.2007 Где: Lithuania::Kaunas Репутация: 1 Всего: 1 |
Что-то мне такая структура не совсем нравиться. Может Океан это обьект контейнер рыбок? А то получается что рыбки это частный случай океана... |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Мож всё-таки наследование? ![]() ![]() ЗЫ А вообще это в "центр помощи". |
|||
|
||||
cyrrus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 7.5.2007 Репутация: нет Всего: нет |
Lomir,
контеинеров я вообще не знаю. ![]() Любитель, Может и наследование, я не силён в языках ![]() |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Это не правильно по своей сути. Почитай про объектно-ориентированное проектирование. Наследуемый класс имеет все поля и методы класса-предка. Скажем, океан имеет такое поле как солёность (это просто пример). Солёность рыбки - это несколько не то ![]() Здесь должно быть агрегирование, а не наследование. Океан - одно из полей рыбки (океан, в к-ром она живёт). А коллекций рыбок - поле океана. Можно также представлять сам океан как коллекцию рыбок, впрочем это не лучший вариант. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: нет Всего: 191 |
2 cyrrus
Не в обиду. Но мож лучше литературу почитай, чтоб иметь хоть маленькое представления об Обьектно ориентированном программировании. А потом сам и выбереш что лучше для тебя в данной ситуации наследование или лучше все в контейнер сгрузить ![]() Пэ.Эс. Ничего личного!!! ![]() |
|||
|
||||
Hurricane |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 10.4.2007 Репутация: 6 Всего: 9 |
Я бы даже сказал, что она намного важнее солености океана... ![]() По теме. Как уже сказали - с точки зрения наследования океан и рыбки имеют мало общего. Может, есть смысл сконцентрироваться на рыбках - травоядные, плотоядные и т.п. - т.е. базовый класс "рыба", реализующий интерфейс общий для любых типов рыб, и унаследованные от него классы с собственной реализацией методов кормежки, размножения, выживания и т.д., что там еще у рыб бывает. А океан - конечно же использовать как контейнер для рыб. |
|||
|
||||
cyrrus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 7.5.2007 Репутация: нет Всего: нет |
Я вас понимаю, но веть задачи изменить я немогу
![]() Здесь просто имеется в виду что класс рыбок наследует класс океана ( координаты и скорость течения и все) Samotnik,
представление я именю, теоретически я понимаю, но практически не очень, и еще, сдесь смысл в том что бы просто использовать эту наследственност.. |
|||
|
||||
Smarts |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 23.4.2007 Репутация: нет Всего: 2 |
Сделай отдельно класс рыб, а внутри океана объяви массив рыб + остальные параметры. В конструкторе Океана инициализируй массив с рыбами, и если надо - можно передать течение, координаты и прочее в качестве параметра конструктору класса рыб.
Наследоват же Рыбу от Океана = ![]() |
|||
|
||||
sgrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 15.4.2006 Репутация: нет Всего: 4 |
напиши сначала класс океан, потом открой книжку и посмотри как надо писать наследование. Твоих рыб будет не так сложно написать после того как океан будет готов. Там ничего сложного на самом деле нет, просто оба класса одни методы могут использовать п.с. рыба, которая имеет координаты океана.... это супергодзилла какая-то ![]() Это сообщение отредактировал(а) sgrey - 14.5.2007, 04:21 |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
cyrrus, ты уверен, что ты правильно понял задание. Либо преподы жутко тупят, либо ты что-то не так понял. Если можешь - уточни задание.
|
|||
|
||||
cyrrus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 7.5.2007 Репутация: нет Всего: нет |
Я задание перевожу с литовского; ща попробую еще раз.
Написать програму с объектами и реализовать своиства наследования. Ситуация: океан с плавающими в нем рыбками, океан - это базовыи объект, рыбы - наследуемый. 1.Объект океана имеет такие данные: координаты (имея в виду что это куб с координатами вершин) и скорость течения. 2. Объект рыб имеет координаты (координаты точки) и скорость. 3.Посчитать координаты рыбы в определённое время (по истечении 1,2,3 секунд) 4. Результат на экран и в фаил результатов. Я сдесь видел кто то из Литвы, может оригинал задания не помешает: Parašyti programą su objektais ir realizuoti klasių paveldimumo savybes. Situacija: vandenynas su jame plaukiojančiomis žuvimis. Vandenynas – tai bazinis objektas, žuvys, paveldimas objektas. 1.Vandenyno objektas turi tokius duomenis: koordinates (laikome, kad tai kubas su tam tikromis viršūnių koordinatėmis) bei tėkmę (greitį ir kryptį pasirenkate patys) 2.Žuvų objektas turi koordinates (laikyti, kad tai taško koordinates) ir plaukimo greitį ir kryptį. 3.Apskaičiuoti žuvų koordinates tam tikrais laiko momentais (pvz. Po 1,2,3 sekundžių), kai pakinta vandenyno tėkmės greitis ar kryptis. 4.Visi rezultatai išvedami į ekraną ir rezultatų failą. |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 19 Всего: 181 |
cyrrus, не думаю, что тут действительно имеется ввиду наследование рыбами от океана, может просто формулировка странная, потому что это просто бессмыслено. Рыба, которая наследует от океана - это ктулху
![]() А если серьёзно, лучше переспроси что имеется ввиду. Прямо так и спроси, зачем рыбам иметь свойства океана? Например глубину в разных координатах, солёность и скорость течения итд. -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
cyrrus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 7.5.2007 Репутация: нет Всего: нет |
nickless, ок.
A как можно реализовать такое:
|
|||
|
||||
Hurricane |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 10.4.2007 Репутация: 6 Всего: 9 |
А-а-а, я, кажется, понял. Пришлось напрячь третий глаз.
![]() Конечно же, наследовать рыб от океана - это бред. На самом деле видимо имелось ввиду вот что. Океан - это, конечно же, контейнер. Контейнер для ячеек (клеток, позиций, можно назвать как угодно). Каждая ячейка может быть пустая, или в ней может находиться рыба (несколько рыб?). Т.е. нужен базовый класс, определяющий интерфейс (пересчитать свои координаты, нарисовать себя и т.д.). Дальше от него наследуется класс "пустая ячейка" - координаты, скорость и направление течения. Дальше от него наследуется класс "рыба" - добавляются собственная скорость и направление движения. Дальше можно развивать мысль. Это оно, или я не угадал? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |