Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.02.2018, 10:51
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
Может ли C ++ определить процедурный тип для класса, как в Delphi (добавляет ключевое слово объекта после процедурного типа). Например: тип Код: pascal 1. 2. 3. 4. Как это сделать в C ++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2018, 10:57
|
|||
|---|---|---|---|
Oпределить процедурный тип для класса |
|||
|
#18+
Kiril, указатель на член класса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2018, 11:56
|
|||
|---|---|---|---|
Oпределить процедурный тип для класса |
|||
|
#18+
Kiril, не надо изобретать велосипед! Всё это уже есть в Embarcadero C++ Builder. Смотрите заголовочные файлы и RTFM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2018, 13:39
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
KirilКак это сделать в C ++. В стандартном С++ - никак. У boost есть пара уродливых темплейтов на этот случай. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2018, 13:41
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
Dimitry Sibiryakov, Спасиба. Я знаю, как это сделать в C ++ Builder и Delphi. Но я хочу знать, как это делается на C ++. На переменной в обекте на которым, назначат нестатические методы наследникам и вызваю это методами через переменной обекте. То есть, я хочу это сделать, то же самое, что и обработчики событий в Delphi и C ++ Builder. Как это сделать в C ++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2018, 14:06
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
Kirilтип Объект TNotifyEvent = procedure (отправитель: TObject); var OnClick: TNotifyEvent; Как это сделать в C ++. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2018, 15:37
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
Anatoly Moskovsky, Я все понял. То, что я хочу делать с инструментами C ++, не очень эффективно и нужно искать другие способы, если это возможно. Если я должен сделать это, как Delphi (C ++ Builder), используя указатель на член класса , я должен написать класс(delegate), содержащий указатель на объект, и указатель метода этого объекта, который я хочу вызвать. Код: plaintext 1. 2. 3. 4. 5. Или использовать <functional> , что не очень эффективно. Спасиба. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2018, 17:36
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
Kiril, Это для обработки OnClick вам не хватает эффективности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2018, 18:15
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
Anatoly Moskovsky, Да этот пример эффективен. Но я хочу перевести код, написанный на C ++ Builder, где эти методы класы могут часто менятся програмно. Класы написанный на C ++ Builder, не может легко переделать на C++. Мне придется изменить параметры некоторых методов этих классов(есть много изменений). Так что теперь я думаю, как вообще избавиться от указателей на методы. Сейчас я ищу другое стандартное решение, который, не основанны на Object Pascal. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2018, 21:10
|
|||
|---|---|---|---|
Oпределить процедурный тип для класса |
|||
|
#18+
KirilМожет ли C ++ определить процедурный тип для класса, как в Delphi (добавляет ключевое слово объекта после процедурного типа). Например: тип Объект TNotifyEvent = procedure (отправитель: TObject); var OnClick: TNotifyEvent; Как это сделать в C ++. Указатель на функцию. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2018, 22:18
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
MasterZivУказатель на функцию. Почувствуй разницу между "указателем на функцию" и "указателем на метод объекта (даже не класса)". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.02.2018, 00:37
|
|||
|---|---|---|---|
Oпределить процедурный тип для класса |
|||
|
#18+
Dimitry Sibiryakov.... "указателем на метод объекта (даже не класса)".Эмм, а это еще что такое ? В терминах С++ пжлст ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.02.2018, 11:57
|
|||
|---|---|---|---|
Oпределить процедурный тип для класса |
|||
|
#18+
Dimitry SibiryakovMasterZivУказатель на функцию. Почувствуй разницу между "указателем на функцию" и "указателем на метод объекта (даже не класса)". Где там указатель на метод ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.02.2018, 05:12
|
|||
|---|---|---|---|
Oпределить процедурный тип для класса |
|||
|
#18+
А лямбды для решения проблемы не подойдут? По-моему, отлично подходят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.02.2018, 07:56
|
|||
|---|---|---|---|
Oпределить процедурный тип для класса |
|||
|
#18+
KirilAnatoly Moskovsky, Да этот пример эффективен. Но я хочу перевести код, написанный на C ++ Builder, где эти методы класы могут часто менятся програмно. Класы написанный на C ++ Builder, не может легко переделать на C++. Мне придется изменить параметры некоторых методов этих классов(есть много изменений). Так что теперь я думаю, как вообще избавиться от указателей на методы. Сейчас я ищу другое стандартное решение, который, не основанны на Object Pascal. Мне кажется ты капризничаешь. Обычные возможности ООП покрывают необходимость что-то менять программно. Почитай про шаблон Strategy например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.02.2018, 20:27
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
mayton, Код: plaintext 1. The implementation of the template is relatively simple: it has a reference to T, which is the class whose member function is to be called, a constructor and a member function called execute(), which invokes the callback member function: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.02.2018, 21:08
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
KirilAnatoly Moskovsky, Да этот пример эффективен. Но я хочу перевести код, написанный на C ++ Builder, где эти методы класы могут часто менятся програмно. Класы написанный на C ++ Builder, не может легко переделать на C++. Мне придется изменить параметры некоторых методов этих классов(есть много изменений). Так что теперь я думаю, как вообще избавиться от указателей на методы. Сейчас я ищу другое стандартное решение, который, не основанны на Object Pascal. В данной постановке наверное никак . Используемый вами ( билдером) патерн без указателей на функции ИМХО не возможен. Этот патерн краеуголный камень в упралении майкрорсофтовскими окнами, и виден из любого высокоуровневого иструмента программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.02.2018, 21:18
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
В книге(Новые сложные задачи на C++ Автор: Саттер Г.) есть подробное описание: Задача 35. Обобщенные обратные вызовы 221 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.02.2018, 21:43
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
KirilВ книге(Новые сложные задачи на C++ Автор: Саттер Г.) есть подробное описание: Задача 35. Обобщенные обратные вызовы 221 Kirilгде эти методы класы могут часто менятся програмно. ИМХО Вангую заипетесь изменять кучу класов для небольшой модификации функционала и вернетесь к указателям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.02.2018, 22:12
|
|||
|---|---|---|---|
Oпределить процедурный тип для класса |
|||
|
#18+
Kiril, я не услышал вопроса. Ты кидаешь цитаты из книжки. Мне комментировать их? Или мне их читать к сведению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.02.2018, 23:30
|
|||
|---|---|---|---|
|
|||
Oпределить процедурный тип для класса |
|||
|
#18+
mayton, Нет. Я понимаю, что эти классы, написанные на C ++ Bulder, я должен переписать их на стандартном C++ снова. Димитрий Сибиряков оказался прав. Его ответ: "Kiril Как это сделать в C ++. В стандартном С++ - никак. У boost есть пара уродливых темплейтов на этот случай." Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2017965]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 276ms |

| 0 / 0 |
