|
|
|
Указатель на метод объекта
|
|||
|---|---|---|---|
|
#18+
Имеется некоторый объект некоторого класса. Необходимо получить указатель на метод (функцию) данного объекта: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 12:41 |
|
||
|
Указатель на метод объекта
|
|||
|---|---|---|---|
|
#18+
попробуй так что ли Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 12:56 |
|
||
|
Указатель на метод объекта
|
|||
|---|---|---|---|
|
#18+
Можно, только тип указателя на функцию-член класса это совсем не одно и тоже, что указатель на обычную функцию. В данном случае: Код: plaintext 1. 2. 3. 4. Как видите, чтобы осуществить вызов функции-члена класса одного указателя не достаточно, а еще необходим объект, в контексте которого и будет выполняться тело функции - это важно! Другими словами, любая функция-член принимает неявный параметр this, поэтому указатель на функцию-член func не может быть приведет к void (*f)(int). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 16:21 |
|
||
|
Указатель на метод объекта
|
|||
|---|---|---|---|
|
#18+
Анатолий ШироковМожно, только тип указателя на функцию-член класса это совсем не одно и тоже, что указатель на обычную функцию. В данном случае: Код: plaintext 1. 2. 3. 4. Как видите, чтобы осуществить вызов функции-члена класса одного указателя не достаточно, а еще необходим объект, в контексте которого и будет выполняться тело функции - это важно! Другими словами, любая функция-член принимает неявный параметр this, поэтому указатель на функцию-член func не может быть приведет к void (*f)(int). Все хорошо, но от этого не легче: нужен указатель (без применения объекта класса), по которому можно вызвать метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 07:10 |
|
||
|
Указатель на метод объекта
|
|||
|---|---|---|---|
|
#18+
А зачем, кстати? Может есть другой путь решения проблемы. Я как-то однажды тоже мучался вопросом получения указателя на метод класса, потом всё решил иным способом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 07:20 |
|
||
|
Указатель на метод объекта
|
|||
|---|---|---|---|
|
#18+
CEMbА зачем, кстати? Может есть другой путь решения проблемы. Я как-то однажды тоже мучался вопросом получения указателя на метод класса, потом всё решил иным способом Проблема в общем такая:имеется некоторый класс, в котором имеется некая очередь, состоящая (как мне хотелось) из: {указатель на объект;указатель на метод объекта},{...},... При обработке очереди необходимо вызвать метод данного объекта.Объекты Элементов очереди могут быть произвольных типов (классов).Вызываемый метод имеет некоторый определенный шаблон (возвращаемое значение, список параметров). Может, действительно, что-то перемудрил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 10:44 |
|
||
|
Указатель на метод объекта
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 12:27 |
|
||
|
Указатель на метод объекта
|
|||
|---|---|---|---|
|
#18+
Я извиняюсь, это все где происходит? Если в билдере, то там для этих целей как раз есть __closure, который и позволяет получить указатель на метод класса без указания самого класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2004, 19:55 |
|
||
|
Указатель на метод объекта
|
|||
|---|---|---|---|
|
#18+
СEMbА зачем, кстати? Вот как важно задать нужный вопрос в нужном месте :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 07:32 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=424&tid=2034051]: |
0ms |
get settings: |
9ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 342ms |

| 0 / 0 |
