Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.03;
Скачать: 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 вся ветка

Текущий архив: 2008.02.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
2-1199296031
Alik
2008-01-02 20:47
2008.02.03
Блокировка повторного запуска программы


15-1198751535
DmitrichJ
2007-12-27 13:32
2008.02.03
Как сделать стартовую страничку в IE


15-1198582880
Kolan
2007-12-25 14:41
2008.02.03
RxLib и EhLib для BDS2006 где взять?


2-1199426201
Alexandr Malygin
2008-01-04 08:56
2008.02.03
не отображается label на появляющейся на некоторое время форме


15-1198361045
linkomizin
2007-12-23 01:04
2008.02.03
нужно к 24.12.07..