
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.03.2007, 13:59
|
|||
|---|---|---|---|
Можно ли передать классу A функцию-член класса B ? |
|||
|
#18+
Не хочется передавать классу B указатель на класс A целиком, т.к. ему понадобиться вызывать только один метод класса A. Можно ли передать ему указатель на нужную ф-ию класса А ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2007, 14:53
|
|||
|---|---|---|---|
Можно ли передать классу A функцию-член класса B ? |
|||
|
#18+
1. И откуда эта член-функция в таком случае должна получать неявный параметр this? Или она статическая? 2. Какая разница, какой указатель. Они по размеру скорей всего совпадут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2007, 14:59
|
|||
|---|---|---|---|
Можно ли передать классу A функцию-член класса B ? |
|||
|
#18+
grieg1. И откуда эта член-функция в таком случае должна получать неявный параметр this? Или она статическая? 2. Какая разница, какой указатель. Они по размеру скорей всего совпадут. 1. Если бы я знал откуда, то знал бы как сделать)) Нет, она не статическая. 2. Разница не в размере. Просто мне было бы так удобно, поэтому я предположил, что может есть такой механизм, о котором я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2007, 21:48
|
|||
|---|---|---|---|
Можно ли передать классу A функцию-член класса B ? |
|||
|
#18+
А вот не выйдет 1) данные все равно принадлежат бъекту класса 2) а ежели у тебя полиморфный объект? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2007, 22:39
|
|||
|---|---|---|---|
|
|||
Можно ли передать классу A функцию-член класса B ? |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2007, 02:28
|
|||
|---|---|---|---|
Можно ли передать классу A функцию-член класса B ? |
|||
|
#18+
TubrikНе хочется передавать классу B указатель на класс A целиком, т.к. ему понадобиться вызывать только один метод класса A. Можно ли передать ему указатель на нужную ф-ию класса А ? В стандартном (ISO) C++ можно только так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Однако в Boland C++ Builder (версия 6 и выше) должно существовать нестандартное расширение, позволяющее вызывать функцию из класса передавая только один указатель. Таким методом там обьявлены все события для форм (Event'ы), рекомендую залезть в исходники/примеры и посмотреть, например, как выглядит обьявлениеTNotifyEvent. В Delphi это было "function of object", как обьявлено в билдере - можете посмотреть сами. Шутка в том, что в Delphi 5-6 такой указатель занимал 8 байт вместо 4х на 32 битной системе, так как он внутренне представлен как указатель на базу класса (4 байта) и указатель на метод класса (ещё 4 байта). Так что особой разницы нет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2007, 22:01
|
|||
|---|---|---|---|
Можно ли передать классу A функцию-член класса B ? |
|||
|
#18+
Tubrik пишет: > Не хочется передавать классу B указатель на класс A целиком, т.к. ему > понадобиться вызывать только один метод класса A. Можно ли передать ему > указатель на нужную ф-ию класса А ? То, что тебе нужно - Interface. Это паттерн проектирования такой. Называется в GoF-е "Brige". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2029129]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 535ms |

| 0 / 0 |
