Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наследственность классов, задача с наследственностю 
:(
    Опции темы
cyrrus
Дата 13.5.2007, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.5.2007

Репутация: нет
Всего: нет



Начел писать програму, но есть некоторые вопросы.
задача:
Написать програму используя обьекты и реализовать наследственность классов.
Ситуация:
Океан с плавающими в нем рыбками. Океан - базовыи обьект, рыбы наследующии.

а. Обьект океан имеет такие данные: координаты (океан-как куб с определионными координатами вершин) и течение( скорость и направление выбераем сами).

б. Обьект рыб имеет координаты ( берем как координаты точки), скорость и направление.

в. Посчитать координаты рыб в определенные моменты (например: после 1,2,3 секунд), когда измениается скорост течения и направление течения океана.

г. Все результаты на екран и в фаил результатов.

вот.

Чтоб мне кто нибуть показал на этом примере наследственност, а то я не очень с етим.
И я так понимаю это нада вводить с клавиатуры начальную скорост рыб и океана, а направление это + или - просто?
В общем разъесните пожалуиста.
PM MAIL   Вверх
Lomir
Дата 13.5.2007, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 30.1.2007
Где: Lithuania::Kaunas

Репутация: 1
Всего: 1



Цитата
Океан с плавающими в нем рыбками. Океан - базовыи обьект, рыбы наследующии.

Что-то мне такая структура не совсем нравиться.
Может Океан это обьект контейнер рыбок? А то получается что рыбки это частный случай океана...
PM MAIL ICQ Skype   Вверх
Любитель
Дата 13.5.2007, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 24
Всего: 92



Цитата(cyrrus @  13.5.2007,  18:09 Найти цитируемый пост)
наследственность

Мож всё-таки наследование? smile А то прям генная инженерия на плюсах  smile 

ЗЫ А вообще это в "центр помощи".


--------------------
PM MAIL ICQ Skype   Вверх
cyrrus
Дата 13.5.2007, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.5.2007

Репутация: нет
Всего: нет



Lomir
контеинеров я вообще не знаю.  smile 
Любитель
Может и наследование, я не силён в языках smile
PM MAIL   Вверх
Любитель
Дата 13.5.2007, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 24
Всего: 92



Цитата(cyrrus @  13.5.2007,  18:09 Найти цитируемый пост)
Океан - базовыи обьект, рыбы наследующии

Это не правильно по своей сути. Почитай про объектно-ориентированное проектирование. Наследуемый класс имеет все поля и методы класса-предка. Скажем, океан имеет такое поле как солёность (это просто пример). Солёность рыбки - это несколько не то  smile

Здесь должно быть агрегирование, а не наследование. Океан - одно из полей рыбки (океан, в к-ром она живёт). А коллекций рыбок - поле океана. Можно также представлять сам океан как коллекцию рыбок, впрочем это не лучший вариант.


--------------------
PM MAIL ICQ Skype   Вверх
Samotnik
Дата 13.5.2007, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: нет
Всего: 191



2 cyrrus 

Цитата(cyrrus @  13.5.2007,  20:40 Найти цитируемый пост)
контеинеров я вообще не знаю.  


Цитата(cyrrus @  13.5.2007,  20:40 Найти цитируемый пост)
Может и наследование, я не силён в языках 

Не в обиду. Но мож лучше литературу почитай, чтоб иметь хоть маленькое представления об Обьектно ориентированном  программировании.

А потом сам и выбереш что лучше для тебя в данной ситуации наследование или лучше все в контейнер сгрузить  smile 

Пэ.Эс.
Ничего личного!!!     smile 
PM MAIL   Вверх
Hurricane
Дата 13.5.2007, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 10.4.2007

Репутация: 6
Всего: 9



Цитата(Любитель @ 13.5.2007,  12:52)
Солёность рыбки - это несколько не то  smile

Я бы даже сказал, что она намного важнее солености океана...  smile 

По теме. Как уже сказали - с точки зрения наследования океан и рыбки имеют мало общего. Может, есть смысл сконцентрироваться на рыбках - травоядные, плотоядные и т.п. - т.е. базовый класс "рыба", реализующий интерфейс общий для любых типов рыб, и унаследованные от него классы с собственной реализацией методов кормежки, размножения, выживания и т.д., что там еще у рыб бывает.

А океан - конечно же использовать как контейнер для рыб.

PM MAIL   Вверх
cyrrus
Дата 14.5.2007, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.5.2007

Репутация: нет
Всего: нет



Я вас понимаю, но веть задачи изменить я немогу smile
Здесь просто имеется в виду что класс рыбок наследует класс океана ( координаты и скорость течения и все)

Samotnik
Цитата

чтоб иметь хоть маленькое представления об Обьектно ориентированном  программировании.

представление я именю, теоретически я понимаю, но практически не очень,
и еще, сдесь смысл в том что бы просто использовать эту наследственност..
PM MAIL   Вверх
Smarts
Дата 14.5.2007, 01:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 23.4.2007

Репутация: нет
Всего: 2



Сделай отдельно класс рыб, а внутри океана объяви массив рыб + остальные параметры. В конструкторе Океана инициализируй массив с рыбами, и если надо - можно передать течение, координаты и прочее в качестве параметра конструктору класса рыб.
Наследоват же Рыбу от Океана =  smile 
PM MAIL   Вверх
sgrey
Дата 14.5.2007, 04:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: нет
Всего: 4



Цитата(cyrrus @ 14.5.2007,  00:41)
Я вас понимаю, но веть задачи изменить я немогу smile
Здесь просто имеется в виду что класс рыбок наследует класс океана ( координаты и скорость течения и все)

напиши сначала класс океан, потом открой книжку и посмотри как надо писать наследование. Твоих рыб будет не так сложно написать после того как океан будет готов. Там ничего сложного на самом деле нет, просто оба класса одни методы могут использовать

п.с. рыба, которая имеет координаты океана.... это супергодзилла какая-то  smile 

Это сообщение отредактировал(а) sgrey - 14.5.2007, 04:21
PM MAIL   Вверх
Любитель
Дата 14.5.2007, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 24
Всего: 92



cyrrus, ты уверен, что ты правильно понял задание. Либо преподы жутко тупят, либо ты что-то не так понял. Если можешь - уточни задание.


--------------------
PM MAIL ICQ Skype   Вверх
cyrrus
Дата 14.5.2007, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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ą.

PM MAIL   Вверх
nickless
Дата 14.5.2007, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 19
Всего: 181



cyrrus, не думаю, что тут действительно имеется ввиду наследование рыбами от океана, может просто формулировка странная, потому что это просто бессмыслено. Рыба, которая наследует от океана - это ктулху smile 
А если серьёзно, лучше переспроси что имеется ввиду. Прямо так и спроси, зачем рыбам иметь свойства океана? Например глубину в разных координатах, солёность и скорость течения итд.


--------------------
user posted image

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
PM MAIL   Вверх
cyrrus
Дата 14.5.2007, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.5.2007

Репутация: нет
Всего: нет



nickless, ок.

A как можно реализовать такое:
Цитата

Сделай отдельно класс рыб, а внутри океана объяви массив рыб + остальные параметры. В конструкторе Океана инициализируй массив с рыбами, и если надо - можно передать течение, координаты и прочее в качестве параметра конструктору класса рыб.

PM MAIL   Вверх
Hurricane
Дата 14.5.2007, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 10.4.2007

Репутация: 6
Всего: 9



А-а-а, я, кажется, понял. Пришлось напрячь третий глаз.  smile 

Конечно же, наследовать рыб от океана - это бред. На самом деле видимо имелось ввиду вот что.

Океан - это, конечно же, контейнер. Контейнер для ячеек (клеток, позиций, можно назвать как угодно). Каждая ячейка может быть пустая, или в ней может находиться рыба (несколько рыб?).

Т.е. нужен базовый класс, определяющий интерфейс (пересчитать свои координаты, нарисовать себя и т.д.). Дальше от него наследуется класс "пустая ячейка" - координаты, скорость и направление течения. Дальше от него наследуется класс "рыба" - добавляются собственная скорость и направление движения. Дальше можно развивать мысль.

Это оно, или я не угадал?

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1018 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.