2013-03-02 4 views
0

так что я действительно простая функция в моем блоке:Как назначить функцию оператору?

Function AzonosE(Const n1,n2:TNap):Boolean; 
Begin 
    AzonosE:=n1=n2; 
End; 

я хотел бы назначить («=») оператор к этой функции, так что я могу использовать эту функцию в моей основной программе этого пути : if n1=n2 (n1, n2: TNap;)

+2

Кажется, что вы ищете перегрузку операторов. Взгляните [здесь] (http://www.freepascal.org/docs-html/ref/refse89.html#x191-20100015.5) – niculare

+0

Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

ответ

1

Это не стандартная функциональность Pascal. OTOH, afaik не является «CONST». Вам нужно лучше указать свой диалект/компилятор.

В случае Free Pascal ссылка Niculare на соответствующую страницу руководства верна. Тем не менее, это особенность FFA. Для более практичных приложений лучше всего взглянуть на модуль ucomplex в RTL, который определяет сложный тип.

Delphi AFAIK только позволяет его как часть структурированного типа:

http://docwiki.embarcadero.com/RADStudio/XE3/en/Operator_Overloading_%28Delphi%29

Смежные вопросы