Вниз
Скачать: CL | DM;

Multiple dispatch   Найти похожие ветки 

← →
Alkid ©   (2007-12-28 18:56) [0]

Господа, есть необходимость забабахать сабж на традиционных языках с виртуальными методами? (У меня C#, но Delphi в этом смысле эквивалентен)

В целом должно получиться что-то типа визитора, но работающего по двум объектам.

Идеи есть, как это сделать?


← →
Johnmen ©   (2007-12-28 19:02) [1]


> Господа, есть необходимость забабахать сабж на традиционных
> языках с виртуальными методами?

Нету.


← →
Alkid ©   (2007-12-28 19:06) [2]

Жаль.
Но ведь двойное связывание через визитор можно сделать!
Наверное можно и тройное.


← →
Джо ©   (2007-12-28 19:07) [3]

Наверное, я фигню щас сморожу.
Сделать общего наследника для передаваемого типа, в самом методе проверять класс посредством оператора is. Ну или, в конце-концов, сделать кучу overload-методов.


← →
Alkid ©   (2007-12-28 19:15) [4]


> Наверное, я фигню щас сморожу.
> Сделать общего наследника для передаваемого типа, в самом
> методе проверять класс посредством оператора is. Ну или,
>  в конце-концов, сделать кучу overload-методов.

Ну на базе оператора is это сделать можно, но я хотел бы выкрутиться исключительно динамическим связыванием через вирт. функции.
Так оно и красивше и быстрее.


← →
Джо ©   (2007-12-28 19:22) [5]

> [4] Alkid ©   (28.12.07 19:15)
> исключительно динамическим связыванием через
> вирт. функции.

Совсем я отстал от теории :(
Можно примерчик в псевдо-коде?
Я без иронии.


← →
Alkid   (2007-12-28 21:16) [6]


> Совсем я отстал от теории :(
> Можно примерчик в псевдо-коде?
> Я без иронии.

Короче, как сделать это для двух классов, написано тут:
http://en.wikipedia.org/wiki/Visitor_pattern

Я думаю, можно ли сделать что-то подобное для трёх.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
15-1198588345
icome
2007-12-25 16:12
2008.02.03
Три задачи на зачёт - Сделай праздник мне на Новый год!


4-1182934526
Nikfel
2007-06-27 12:55
2008.02.03
Как из ico достать ico размером 16x16 или 48x48


15-1198676715
Cyrax
2007-12-26 16:45
2008.02.03
Таинственное исчезновение анкет...


2-1199890935
andreil
2008-01-09 18:02
2008.02.03
Работа с файлом в С++


2-1199783361
Washington
2008-01-08 12:09
2008.02.03
Программа, не имеющая формы




   Наверх