Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2007, 05:10   #1
mahsus
Пользователь
 
Регистрация: 06.10.2007
Сообщений: 14
По умолчанию реализация стратегии на классах

Добрый день!
Помогите начинающему. Пишу реализацию игры "Генералы" на классах. Написал класс Military, от которого наследовал классы:
BuildItem - что-то строит; MilitItem - во что-то стреляет;
Для MilitItem определил ф-цию Fire() и цель Military *Purpose;
Для BuildItem определил ф-цию Build() и цель Military *Purpose;
От класса MilitItem наследую: классы Пехота, Танк, Ракетница, Самолет - стреляют по всем объектам Military;
От класса BuildItem наследую: классы
Барак - "строит" объект класса пехота;
Военный завод - "строит" объект класса Танк, Ракетницу;
Аэродром - "строит" объект класса самолет ;
Подскажите прийом как мне указать, возьмем один пример, что Военный завод может строить только Танк и Ракетницу, унаследованные от класса MilitUnit, когда есть другие классы (пехота, самолет) тоже унаследованные от того же класса MilitUnit?
Как это делается?
И, следовательно вопрос второй следует из первого:
Например, объект класса "Военный завод" может строить объекты "Танк" и "Ракетница". Есть ф-ция Build(), которая строит переданный объект,т.е. создает. Пустые скобки означают, что я не знаю что за параметр передавать функции, чтобы она создала например объект класса "танк" (... = new .... Как передать тип объекта, который нужно создать.
Подскажите пожалуйста механизм такой обработки.
Буду очень благодарен за ответ.
mahsus вне форума Ответить с цитированием
Старый 28.12.2007, 10:27   #2
Alek86
Форумчанин
 
Регистрация: 25.09.2007
Сообщений: 189
По умолчанию

ну, первый ответ простой - строй заводом только танки с ракетницами, а не объекты Multiunit

второй похуже. Можно или задать у завода 2 состояния - "строить танки" и "строить ракетницы", а виртуальная функция Build будет строить в зависимоти от состояния. Можно строить 1 танк и 1 ракетницу сразу за 1 вызов. Это в зависимости от того, что тебе нужно
Alek86 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Небольшой этический вопросик о классах. Longedok Помощь студентам 2 04.08.2008 13:23
Реализация конфигуратора BlackOmen Общие вопросы Delphi 3 30.05.2008 17:12
реализация SSL Prowler Работа с сетью в Delphi 1 18.12.2007 13:38
На чем пишутся стратегии типа "Казаков" и "Эпохи империи" Tayfun Свободное общение 3 26.06.2007 20:27