powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему нельзя передавать параметром метод класса?
25 сообщений из 94, страница 3 из 4
Почему нельзя передавать параметром метод класса?
    #33925464
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всё равно даже в случае полного хаоса класс, предоставляющий регистрацию лисенера должен наследовать соотв. интерфейс, скажем, EventProvider, а класс, регистрирующий коллбак наследует интерфейс EventListener и всё.
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33925470
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo Akhа) Сейчас обсуждается, общая задача:
а1) Утилита, производящая вызов каллбака задачи
а2) Задача, котороя хотит зарегестирировать каллбаком свой метод.ну. Давно решённая задача. Чем тебя не устраивают обработчики событий?
AkhБыло предложено 3 метода решения! Это к какому?приведение типов.

1. Оно и есть. Реализация? Отличие от сред разработки - не может быть, в принципе, единого родителя (так как есть разные утилиты и они существуют отдельно друг от друга). Множественное наследование? Разные родители, могут иметь одинаковые интерфейсные функции. Наследовать мышь от кота тоже не хорошо.

2. А куда это втыкается? ;)
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33925483
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo AkhВозмьмем ваш пример, в качестве основы. Вроде бы он подходит. Так вот, допустим вамему объекту, созданному по классу, дочернему к некоторому классу с функцией Run, надо заюзать несколько таких потоковых объектов. В этом случае вы создаете 2 этих объекта и каждому кидаете свою функцию Run.хмм... так у тебя всё-таки утилита вызывает задачу или куча классов вызывают друг друга как хотят? Зачем такой хаос может понадобиться?

Утилиты вызывает задачу. Общий случай: задача подключает 40 объектов одного класса, 30 другого и так далее.
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33925504
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoвсё равно даже в случае полного хаоса класс, предоставляющий регистрацию лисенера должен наследовать соотв. интерфейс, скажем, EventProvider, а класс, регистрирующий коллбак наследует интерфейс EventListener и всё.

Начинаю склоняться в эту сторону (интерфейсов).... Необходимо правельно проэктировать основной класс. Допустим класс собака, существует не просто как класс, а содержит еще классы. 1-я нога, 2-я нога, которые можно пронаследовать от интерфейса таймера, который будет двигать эти ного.

Вообщем, что-то в этом роде.
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33925855
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дадут вам сторонюю библиотеку и скажут что надо к вашим таймерам прицепить. А там 100 классов, да еще с наследованием. Ну и как не устанем к интерфейсу таймера их подключать?
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33925902
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blindedДадут вам сторонюю библиотеку и скажут что надо к вашим таймерам прицепить. А там 100 классов, да еще с наследованием. Ну и как не устанем к интерфейсу таймера их подключать?

Предлагаем какой-то метод, который подойдет для всех интерфейсов? ;)
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33926154
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем плохо с шаюлонным start? Там ежели подумать то и указатель на функцию можно пихнуть
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33927356
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhНаследовать мышь от кота тоже не хорошо.никто и не просит. Наследуй их от мохнатого четвероногого жывотного.

Akh2. А куда это втыкается? ;)ну у тебя же проблемы были с приведением типов. Ладно, забей, всё равно это ересью было.

AkhУтилиты вызывает задачу. Общий случай: задача подключает 40 объектов одного класса, 30 другого и так далее.а проблема в чём? Утилиту с задачей связать или кучу классов с задачей?

AkhНачинаю склоняться в эту сторону (интерфейсов).... Необходимо правельно проэктировать основной класс. Допустим класс собака, существует не просто как класс, а содержит еще классы. 1-я нога, 2-я нога, которые можно пронаследовать от интерфейса таймера, который будет двигать эти ного.уже лучше. А зачем тут таймер?
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33927411
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага... кажется, понял... ты хочешь регистрировать в таймере произвольные методы объектов для выполнения по таймауту? Хмм... точно не знаю... в мфц это делается, кажется, с помощью костылей. Насчёт qt не знаю.
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33927610
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В мфц я что-то вообще не нашёл класса таймера :)
В спп.нет обработчик коннектится через делегат :) (если метод нестатический, указывается объект, к которому применять метод).
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33927833
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мужики! А меня что игнорируют или просто не заметили (там на 2ой странице)
Дернул же не знаю что, не знаю у кого, да еще м неизвестным аргументом. Ежели это не устраивает, то можно из Alexandresku (БИБЛИОТЕЧКА LOKI) взять Functor и перепереть под эту задачку.
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33928419
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скольких, однако, трудов стоит написать на спп жалкое подобие делегата :)
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33928429
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo
не наезжай на великий и могучий
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33928570
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoскольких, однако, трудов стоит написать на спп жалкое подобие делегата :)

По сравнению с функтором Александреску C# делегаты глюкавое убожество
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33928577
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoскольких, однако, трудов стоит написать на спп жалкое подобие делегата :)

и трудов там не меньше, M$ их просто спрятало. ILDasm покажет где ;)
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33928856
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хмм... о чём это ты? Мне ildasm весьма красиво пишет.
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33928949
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoхмм... о чём это ты? Мне ildasm весьма красиво пишет.

красиво. и немного ПОДРОБНЕЕ чем в исходнике на C#
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33929047
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, подробнее, но всё делается именно так, как предполагается. И нет приведений типов, как в стихах blinded.
А знаешь, что происходит, когда вызывается тот метод Timer::start ? В курсе, что этот метод будет размножаться?
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33929469
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoНу да, подробнее, но всё делается именно так, как предполагается. И нет приведений типов, как в стихах blinded.

Где я тип привел? Обижаете. Ни одного оператора приведения НЕТ!!!
maXmo
А знаешь, что происходит, когда вызывается тот метод Timer::start ? В курсе, что этот метод будет размножаться?
Ну и пусть компилер размножает, он железный. Зато я не стану машинисткой. И никто не заставит меня наследоваться от одного класса и без числа приводить типы.
А что касается славной библиотеки им Alexandresku, то она не даром так называется (вспомним к/ф Маска) Ежеди кто в ней найдет multithread модель под UNIX скажите
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33930544
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот вам новый опус(на скрепке)
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33930690
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoВ курсе, что этот метод будет размножаться?

в курсе ты действительно думаешь что это так сложно сделать на C++ ???
по мне так это ДЕШОФКА.

авторЕжеди кто в ней найдет multithread модель под UNIX скажите

а руки то тебе на что ???
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33930749
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)

в курсе ты действительно думаешь что это так сложно сделать на C++ ???
по мне так это ДЕШОФКА.

А я на лавры Гомера не претендую. так Агния Барто. Но в отличии от великих теоретиков, ежели и выеживаюсь, так аргументировано.

Gluk (Kazan)
а руки то тебе на что ???
А я ими девок щупаю. А вы пока читайте на ночь Александреску.
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33931415
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blindedА я ими девок щупаю. А вы пока читайте на ночь Александреску.

Линк, плиз.

ПС от автора топика :) : Сейчас не могу участвовать в дискусии, так как нет времени, а для участия мне надо ДУМАТЬ (т.к. этой темой не занималя, даже не знал, что можно функции каласса передовать в параметры).

ПС 2: Если прийдете к конструктивным решениям, буду очень рад.
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33931465
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh, с Александреску все просто незабвенный Modern C++ design там целая глава посвящена функторам. Loki лежит здесь http://www.awl.com/cseng/titles/0-201-70431-5
но не факт что g++ сжует без приложения усилий с вашей стороны
А передача метода класса в качестве параметра на самом деле основана на трюке с определением оператора () у вспомогательного класса. Внешне это выглядит как вызов функции, хотя таковым не является.
...
Рейтинг: 0 / 0
Почему нельзя передавать параметром метод класса?
    #33931803
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blindedежели и выеживаюсь, так аргументировано.


Типа наезд ? Ой спасиба, парадавал
...
Рейтинг: 0 / 0
25 сообщений из 94, страница 3 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему нельзя передавать параметром метод класса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]