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

C++

Войти
Регистрация
Восстановить пароль
 
Veyron
106 / 106 / 4
Регистрация: 02.06.2009
Сообщений: 579
#1

Организовать иерархию классов - C++

05.02.2013, 11:53. Просмотров 484. Ответов 1
Метки нет (Все метки)

В общем, ситуация такая: пишется что-то наподобие простенького движка для шариков, которые будут бегать по полю. Управление шариками пишется в пользовательском коде. То есть:

1. Есть класс World, это собственно вся среда выполнения игры.
2. В этом классе есть карта (на данный момент ее структура не важна - она может быть представлена как массив, может быть представлена как список, но типа WorldItem, о нем дальше).
3. WorldItem - универсальный элемент мира. Это будет родительский класс, от него будут наследоваться другие элементы - вкусняшки (+к здоровью, монетки...), препятствия, другие боты(UserBot).
4. Каждый человек делает свою реализацию UserBot, и в нем будет метод, который должен использовать карту мира, чтобы принять решение о очередном ходе. И тут встает проблема. Карта - элемент класса World, а доступ к ней нужно иметь из классов ботов. Передавать всю карту - будет ли накладно? Или при передаче ссылки на объект не происходит накладных расходов? Если это не оптимальный вариант, предложите, пожалуйста, на Ваш взгляд, более выгодный вариант иерархии классов с указанием места, куда же засунунть карту.

Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 11:53     Организовать иерархию классов
Посмотрите здесь:

Cоздать иерархию классов круг, цилиндр C++
C++ Создать иерархию классов корабль – пассажирский пароход
C++ Спроектировать иерархию классов
Не могу организовать иерархию классов C++
C++ Определить иерархию классов
Написать иерархию классов для площади круга C++
Как лучше сделать иерархию классов? C++
C++ Разработать иерархию классов
C++ Создать иерархию классов представляющих простое наследование
C++ Реализовать иерархию классов Точка-Круг
Реализовать иерархию классов Точка-Линия-Круг C++
Реализовать иерархию классов Компьютер-Ноутбук C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4956 / 3032 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.02.2013, 12:35     Организовать иерархию классов #2
Veyron, храните в ботах ссылку на карту (при создании объекта бота передавайте в его конструктор ссылку, которую вернёт, например, метод getMap() класса World). Для карты правильнее будет написать собственный класс Map, тогда сигнатура метода getMap будет примерно такой:
C++
1
Map& World::getMap();
Yandex
Объявления
05.02.2013, 12:35     Организовать иерархию классов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru