|
|
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
всё равно даже в случае полного хаоса класс, предоставляющий регистрацию лисенера должен наследовать соотв. интерфейс, скажем, EventProvider, а класс, регистрирующий коллбак наследует интерфейс EventListener и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 16:22 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
maXmo Akhа) Сейчас обсуждается, общая задача: а1) Утилита, производящая вызов каллбака задачи а2) Задача, котороя хотит зарегестирировать каллбаком свой метод.ну. Давно решённая задача. Чем тебя не устраивают обработчики событий? AkhБыло предложено 3 метода решения! Это к какому?приведение типов. 1. Оно и есть. Реализация? Отличие от сред разработки - не может быть, в принципе, единого родителя (так как есть разные утилиты и они существуют отдельно друг от друга). Множественное наследование? Разные родители, могут иметь одинаковые интерфейсные функции. Наследовать мышь от кота тоже не хорошо. 2. А куда это втыкается? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 16:23 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
maXmo AkhВозмьмем ваш пример, в качестве основы. Вроде бы он подходит. Так вот, допустим вамему объекту, созданному по классу, дочернему к некоторому классу с функцией Run, надо заюзать несколько таких потоковых объектов. В этом случае вы создаете 2 этих объекта и каждому кидаете свою функцию Run.хмм... так у тебя всё-таки утилита вызывает задачу или куча классов вызывают друг друга как хотят? Зачем такой хаос может понадобиться? Утилиты вызывает задачу. Общий случай: задача подключает 40 объектов одного класса, 30 другого и так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 16:25 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
maXmoвсё равно даже в случае полного хаоса класс, предоставляющий регистрацию лисенера должен наследовать соотв. интерфейс, скажем, EventProvider, а класс, регистрирующий коллбак наследует интерфейс EventListener и всё. Начинаю склоняться в эту сторону (интерфейсов).... Необходимо правельно проэктировать основной класс. Допустим класс собака, существует не просто как класс, а содержит еще классы. 1-я нога, 2-я нога, которые можно пронаследовать от интерфейса таймера, который будет двигать эти ного. Вообщем, что-то в этом роде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 16:29 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
Дадут вам сторонюю библиотеку и скажут что надо к вашим таймерам прицепить. А там 100 классов, да еще с наследованием. Ну и как не устанем к интерфейсу таймера их подключать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 17:33 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
blindedДадут вам сторонюю библиотеку и скажут что надо к вашим таймерам прицепить. А там 100 классов, да еще с наследованием. Ну и как не устанем к интерфейсу таймера их подключать? Предлагаем какой-то метод, который подойдет для всех интерфейсов? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 17:46 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
А чем плохо с шаюлонным start? Там ежели подумать то и указатель на функцию можно пихнуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 19:34 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
AkhНаследовать мышь от кота тоже не хорошо.никто и не просит. Наследуй их от мохнатого четвероногого жывотного. Akh2. А куда это втыкается? ;)ну у тебя же проблемы были с приведением типов. Ладно, забей, всё равно это ересью было. AkhУтилиты вызывает задачу. Общий случай: задача подключает 40 объектов одного класса, 30 другого и так далее.а проблема в чём? Утилиту с задачей связать или кучу классов с задачей? AkhНачинаю склоняться в эту сторону (интерфейсов).... Необходимо правельно проэктировать основной класс. Допустим класс собака, существует не просто как класс, а содержит еще классы. 1-я нога, 2-я нога, которые можно пронаследовать от интерфейса таймера, который будет двигать эти ного.уже лучше. А зачем тут таймер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 11:47 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
ага... кажется, понял... ты хочешь регистрировать в таймере произвольные методы объектов для выполнения по таймауту? Хмм... точно не знаю... в мфц это делается, кажется, с помощью костылей. Насчёт qt не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 11:54 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
В мфц я что-то вообще не нашёл класса таймера :) В спп.нет обработчик коннектится через делегат :) (если метод нестатический, указывается объект, к которому применять метод). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 12:25 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
Мужики! А меня что игнорируют или просто не заметили (там на 2ой странице) Дернул же не знаю что, не знаю у кого, да еще м неизвестным аргументом. Ежели это не устраивает, то можно из Alexandresku (БИБЛИОТЕЧКА LOKI) взять Functor и перепереть под эту задачку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 13:00 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
скольких, однако, трудов стоит написать на спп жалкое подобие делегата :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 14:46 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
maXmo не наезжай на великий и могучий Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 14:48 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
maXmoскольких, однако, трудов стоит написать на спп жалкое подобие делегата :) По сравнению с функтором Александреску C# делегаты глюкавое убожество ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 15:14 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
maXmoскольких, однако, трудов стоит написать на спп жалкое подобие делегата :) и трудов там не меньше, M$ их просто спрятало. ILDasm покажет где ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 15:15 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
хмм... о чём это ты? Мне ildasm весьма красиво пишет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 16:12 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
maXmoхмм... о чём это ты? Мне ildasm весьма красиво пишет. красиво. и немного ПОДРОБНЕЕ чем в исходнике на C# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 16:33 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
Ну да, подробнее, но всё делается именно так, как предполагается. И нет приведений типов, как в стихах blinded. А знаешь, что происходит, когда вызывается тот метод Timer::start ? В курсе, что этот метод будет размножаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 16:54 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
maXmoНу да, подробнее, но всё делается именно так, как предполагается. И нет приведений типов, как в стихах blinded. Где я тип привел? Обижаете. Ни одного оператора приведения НЕТ!!! maXmo А знаешь, что происходит, когда вызывается тот метод Timer::start ? В курсе, что этот метод будет размножаться? Ну и пусть компилер размножает, он железный. Зато я не стану машинисткой. И никто не заставит меня наследоваться от одного класса и без числа приводить типы. А что касается славной библиотеки им Alexandresku, то она не даром так называется (вспомним к/ф Маска) Ежеди кто в ней найдет multithread модель под UNIX скажите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 18:46 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
Вот вам новый опус(на скрепке) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2006, 21:12 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
maXmoВ курсе, что этот метод будет размножаться? в курсе ты действительно думаешь что это так сложно сделать на C++ ??? по мне так это ДЕШОФКА. авторЕжеди кто в ней найдет multithread модель под UNIX скажите а руки то тебе на что ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2006, 09:51 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) в курсе ты действительно думаешь что это так сложно сделать на C++ ??? по мне так это ДЕШОФКА. А я на лавры Гомера не претендую. так Агния Барто. Но в отличии от великих теоретиков, ежели и выеживаюсь, так аргументировано. Gluk (Kazan) а руки то тебе на что ??? А я ими девок щупаю. А вы пока читайте на ночь Александреску. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2006, 13:12 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
blindedА я ими девок щупаю. А вы пока читайте на ночь Александреску. Линк, плиз. ПС от автора топика :) : Сейчас не могу участвовать в дискусии, так как нет времени, а для участия мне надо ДУМАТЬ (т.к. этой темой не занималя, даже не знал, что можно функции каласса передовать в параметры). ПС 2: Если прийдете к конструктивным решениям, буду очень рад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 10:00 |
|
||
|
Почему нельзя передавать параметром метод класса?
|
|||
|---|---|---|---|
|
#18+
Akh, с Александреску все просто незабвенный Modern C++ design там целая глава посвящена функторам. Loki лежит здесь http://www.awl.com/cseng/titles/0-201-70431-5 но не факт что g++ сжует без приложения усилий с вашей стороны А передача метода класса в качестве параметра на самом деле основана на трюке с определением оператора () у вспомогательного класса. Внешне это выглядит как вызов функции, хотя таковым не является. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 10:24 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33927356&tid=2030627]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
319ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 651ms |

| 0 / 0 |
