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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Exeil
5 / 5 / 1
Регистрация: 06.12.2010
Сообщений: 50
#1

Передача в функцию обьекта - C++

24.09.2011, 21:37. Просмотров 560. Ответов 4
Метки нет (Все метки)

Всем привет. В интернете ничего не нашел по этому поводу:

Я делаю шашки и у меня есть класс USER и два производных COMPUTER и GAMER. Каждый из производных перегружают функцию Call_Step() у базового.
Нужно после выбора первого и второго игрока передать в функцию два объекта комбинации могут быть разными COMPUTER + GAMER или GAMER + GAMER и т.д. интерфейсы у которых одинаковые. Можно ли как нибудь передавать в функцию как USER а в функции использовать её как GAMER? Это было бы очень удобно.

Может это и глупый вопрос, заранее спс.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2011, 21:37     Передача в функцию обьекта
Посмотрите здесь:

C++ передача массива в функцию
передача в функцию C++
Передача свойств обьекта в функцию openGL C++
передача матрицы в функцию C++
C++ Передача обьекта в функию
C++ Передача в функцию
Передача в функцию C++
Создать функцию вывода, в которую можно передать обьект, и вывести имя обьекта и все его поля C++
C++ Передача объекта в функцию
Передача list<> в функцию C++
Передача в функцию аргумента C++
C++ Исключительный доступ обьекта к полям другого обьекта avr/c++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
24.09.2011, 21:53     Передача в функцию обьекта #2
Может я не правильно понял вопрос, но приняв ссылку на родительский класс (которая на самом деле может указывать на любой класс наследник) вы можете вызывать любую вирутальную функцию и она будет вызываться (за счёт виртуальной таблицы) для того наследника, на которого указывает эта ссылка.
Те укажите что функция принимает ссылку на USER,а потом в ней вызывайте нужную виртуальную функцию и в зависимости от того на что указывает USER будет вызываться либо функция COMPUTER либо GAMER.
Exeil
5 / 5 / 1
Регистрация: 06.12.2010
Сообщений: 50
25.09.2011, 19:46  [ТС]     Передача в функцию обьекта #3
увы но после передачи по ссылке в функцию потомка он типизируется в базовый класс и используется не перегруженный потомком метод а базовый
alex_x_x
бжни
2443 / 1648 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
25.09.2011, 19:48     Передача в функцию обьекта #4
потому что вы используете не виртуальные методы
Exeil
5 / 5 / 1
Регистрация: 06.12.2010
Сообщений: 50
25.09.2011, 19:49  [ТС]     Передача в функцию обьекта #5
хм обязательно почитаю про это, надеюсь поможет, спасибо =)
Yandex
Объявления
25.09.2011, 19:49     Передача в функцию обьекта
Ответ Создать тему
Опции темы

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