![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
RaP1D |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 12.10.2008 Репутация: нет Всего: нет |
Сразу оговорюсь, что функция написана неправильно (ссылки)...
Есть класс: GameGui Есть несколько классов, являющихся его элементами: main_menu, game_menu, options Есть несколько define'ов:
Есть функция для появления окна (похожая и для исчезновения):
В эту фу-цию передается 2 переменные: 1-название окна; 2-скорость появления... Кароче мне надо, чтоб в зависимости от названия панели ссылка ссылалась на соответствующий класс... Если писать так, то ссылку не видит компилятор и выдает ошибку... Можно, конечно передавать в функцию класс, но мне надо именно так... Как исправить сию функцию? Можно и без ссылок (указатели)... Я могу конечно использовать:
отдельно для каждого класса, но это глупо... Это сообщение отредактировал(а) RaP1D - 17.1.2009, 22:23 |
||||||
|
|||||||
mes |
|
||||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
вот навскидку три варианта :
1. С указателем :
2. Вынести блендинг как отдельную функцию
3.
Добавлено @ 23:24 Чтоб в каждой функции не делать набор условий для определения панели лучше использовать комбинацию всех трех примеров.
Это сообщение отредактировал(а) mes - 17.1.2009, 23:26 |
||||||||
|
|||||||||
RaP1D |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 12.10.2008 Репутация: нет Всего: нет |
Большое спасибо!!!
|
|||
|
||||
Kallikanzarid |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: нет Всего: 3 |
Кстати, лучше использовать полиморфизм, чем такого рода свитчи, и ссылки вместо указателей. Это если ты, конечно, в С++ работаешь.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |