2013-03-02 63 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 2013-03-02 12:27:32

+0

我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 – 2013-03-02 13:36:17

回答

1

这不是标准的Pascal功能。 OTOH,afaik既不是“CONST”。你需要更好地指定你的方言/编译器。

对于Free Pascal,Niculare对相关手册页的引用是正确的。尽管如此,它仍然是一种特殊的FPC。对于更实际的应用,最好查看RTL中定义复杂类型的复杂单元。

德尔福AFAIK只允许它作为结构化类型的一部分:

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