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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ООП, небольшой вопрос 
:(
    Опции темы
fuckingniger
Дата 20.6.2011, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Есть классы A, B, C.

функция из класса С должна иметь доступ к данным классов A и B

такое возможно?
PM MAIL   Вверх
azesmcar
Дата 20.6.2011, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


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

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



к каким данным? хотя возможно конечно в любом случае, но ответ на дальнейший вопрос "А КАК" зависит от спецификатора доступа.
PM   Вверх
triclosan
Дата 20.6.2011, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



сделайте С другом классов A и B


PM MAIL   Вверх
fuckingniger
Дата 20.6.2011, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



спецификатор private

а как объект класса C поймёт с каким именно объектом он  имеет общие данные?
PM MAIL   Вверх
azesmcar
Дата 20.6.2011, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


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

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



Цитата(fuckingniger @  20.6.2011,  12:32 Найти цитируемый пост)
спецификатор private


Цитата(triclosan @  20.6.2011,  12:27 Найти цитируемый пост)
сделайте С другом классов A и B


PM   Вверх
fuckingniger
Дата 20.6.2011, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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




Цитата(fuckingniger @  20.6.2011,  12:32 Найти цитируемый пост)
а как объект класса C поймёт с каким именно объектом он  имеет общие данные? 


PM MAIL   Вверх
azesmcar
Дата 20.6.2011, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


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

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



Цитата(fuckingniger @  20.6.2011,  12:46 Найти цитируемый пост)
а как объект класса C поймёт с каким именно объектом он  имеет общие данные? 

О чем вопрос вообще непонятно. Какие еще общие данные?
PM   Вверх
triclosan
Дата 20.6.2011, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



fuckingniger, у вас небось эти классы каким-то хитрым наследованием связаны, о котором вы почему-то умалчиваете

PM MAIL   Вверх
fuckingniger
Дата 20.6.2011, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



я наверное плохо умею объяснять просто и + не понимаю чего-то элементарного.

Есть класс змейка 
Есть класс жизнь (или яблоко)
Есть класс смерть (-1 жизнь)

Эти классы никак не связаны(только жизнь и смерть от одного абстрактного наследуются)

итак мне надо знать куда  я походил змейкой. 
а чтобы узнать уперся ли я в яблоко или смерть или просто обычную пустую клетку, мне надо знать, что творится в масивах этих классов.

что скажете?

Добавлено через 2 минуты и 55 секунд
мне приходит в голову только делать их public и в maine уже эти ситуации разруливать, но это как-то некрасиво.
PM MAIL   Вверх
mes
Дата 20.6.2011, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



походу Вас зациклело на слове класс.. Если не нужен класс - не делайте.. ООП от этого не пострадает, а наоборот обретет логичность.. Т.е. вначале нужно  думать не какие классы нужны, а преставить модель взаимодействия, и после уже навешивать эту модель на классы..

Добавлено @ 13:17
Цитата(fuckingniger @  20.6.2011,  11:57 Найти цитируемый пост)
итак мне надо знать куда  я походил змейкой. 

У Вас есть поле, на нем разложены предметы, при перемещении змейки контролер игры проверяет что с кем столкнулось, какие следствия от этого, и указывает каждому из  объектов как изменить состояние..


Это сообщение отредактировал(а) mes - 20.6.2011, 13:18


--------------------
PM MAIL WWW   Вверх
fuckingniger
Дата 20.6.2011, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



в том то и дело, что нужны классы(это работа по предмету ООП))

то есть другого выхода кроме того, что я предложил нет ?
PM MAIL   Вверх
mes
Дата 20.6.2011, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(fuckingniger @  20.6.2011,  12:17 Найти цитируемый пост)
то есть другого выхода кроме того, что я предложил нет ? 

Дело не в классах, Вы выход не в том месте ищете..

Добавлено через 2 минуты и 23 секунды
Цитата(fuckingniger @  20.6.2011,  12:17 Найти цитируемый пост)
(это работа по предмету ООП))

никто не заставляет отказываться Вам от классов совсем, просто если к примеру составляете алфавит, тп далеко не всегда полезно определять для каждой буквы свой собственный класс..

Добавлено через 3 минуты и 15 секунд
ООП не есть "компот из классов"


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


Бывалый
*


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

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



Цитата(mes @  20.6.2011,  13:12 Найти цитируемый пост)
У Вас есть поле, на нем разложены предметы, при перемещении змейки контролер игры проверяет что с кем столкнулось, какие следствия от этого, и указывает каждому из  объектов как изменить состояние..

это хорошая мысль
PM MAIL   Вверх
mekhanikus
Дата 21.6.2011, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вольноопределяющийся
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 16.6.2008
Где: Спасск-Дальний

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



Ещё идея:

Есть класс "Червь", если классы "Пустая ячейка", "Яблоко", "Бомба".
При этом 3 последние класса - производные от класса "Ячейка".

Перегружаем оператор "+" для операции "Червь"+"Ячейка".
С каждым шагом делаем "Червь"+"Ячейка",
результат будет зависеть от того, что прячется под "Ячейкой".
PM MAIL   Вверх
mes
Дата 21.6.2011, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(mekhanikus @  21.6.2011,  10:03 Найти цитируемый пост)
Перегружаем оператор "+" для операции "Червь"+"Ячейка".

и делаем его виртуальным, иначе смысла нет.. 
 а после код логики отвечающий за это поведение будет раскидан по всей программе..  smile  smile 


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
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.0937 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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