![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Enjoy |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.2.2006 Репутация: нет Всего: нет |
Здравствуйте!
Как можно сделать так, чтобы неусколько классов могли иметь одно название, одну одинаковую открытую функцию, и абсолютно разные данные внутри? Пример:
Мне нужно, сделать так, чтобы взависимости от того, какой класс будет создан, с тем классом и работать. Что-нибудь вроде этого:
У всех классов открытая будет только одна функция ProcessMessage(int var1, int var2), которая принимает и выдаёт одинаковые параметры, но делать будет разное, в зависимости от класса. Я слышал что-то про виртуальные методы. Может быть это относится сюда? Помогите мне понять, как называется то, что мне нужно... |
||||
|
|||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 3 Всего: 73 |
Шаблоны использовать надо.
Спросил у яндекса по теме. Еще лучше в книгах почитать, у Страуструпа, кажется, глава 13. -------------------- Теперь при чем :P |
|||
|
||||
| Fin |
|
||||||||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 3 Всего: 10 |
Это можно сделать, только я бы не рекомендовал. Классы с одинаковыми названиями в одном проекте, больше головных болей, чем прибыли. Из того, что я понял, можно порекомендовать. 1. Создай базовый класс.
Одно замечание, если будеш создавать в дочерних классах динамические переменные, то деструктор тоже нужно создавать виртуальным. 2. От базового класса делаеш свои дочерние классы
Теперь можеш делать указатель на базовый класс и присваивать ему ссылки на дочерние классы.
Здесь будет выполнятся функция описанная в классе CEntiry, хотя ссылка идет на базовый класс. Добавлено @ 19:36 Согласен с Ignat, все зависит от того, что ты хочеш получить, Если хочеш подменять типы в функции ProcessMessage, тогда шаблоны. Если хочеш подменять действия, тогда описанный мной способ. -------------------- Пролетал мимо. |
||||||||
|
|||||||||
| Enjoy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.2.2006 Репутация: нет Всего: нет |
Мне нужно перевести код с C на C++.
Вот обрывки кода:
Прошу помочь. |
|||
|
||||
| Enjoy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.2.2006 Репутация: нет Всего: нет |
Неужели это так сложно?
|
|||
|
||||
| chipset |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Это ты что тут делаешь? Порнография (С) BreakPointMAN
Не понял. Поясни.
Добавлено @ 06:46 А что ты собственно, ожидаешь в ответ? --------------------
|
||||||
|
|||||||
| Enjoy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.2.2006 Репутация: нет Всего: нет |
Собственно нужно создать список из этих Entities(причём заранее не известно, какие вообще Entities там будут храниться) , и посылать этому списку сообщения. А этот список будет перенаправлять сообщения нужно Entity, взависимости от содержания сообщения.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |