我不知道什么样的操作符重载是可能的(与德尔福的是什么版本)? 由于操作符重载Hallvard最伟大的写了 ,我知道的:
- 添加(左,右:类型):类型(对于“+”操作符)
- 减去(左,右:类型):类型(为“ - ”运算符)
- 乘(左,右:类型):类型(为“*”运算符)
- 除(左,右:类型):类型(对于“/”经营者)
- 隐(安勤:类型):AnotherType和
- 隐式的(安勤:AnotherType):类型(关于隐式分配:一个:= b)的
- 显式(安勤:类型):AnotherType和
- 显式的(安勤:AnotherType):类型(明确assignmetns '投下':A:=(B)型
不过,我不知道是为 '=', '<=', '<', '<>', '>' 和 '> =' 经营者的名称。 难道这些存在的,从什么德尔福版本,我可以使用这些?
PS:我还在使用Delphi 2009年的时刻,所以我还会有一个强大的升级,参数,如果2010提供这些;-)
其实,我找到了答案,这一点我自己,但保留了一个问题,我可以想像,人们将寻找定期此信息计算器;
运营商overloaders官方的描述可以在这里找到: http://docwiki.embarcadero.com/RADStudio/en/Operator_Overloading_(Delphi)
主要是,我一直在寻找的那些被命名为:
- 相等,为 '=' 比较:相等(A:类型; B:型):布尔值;
- NotEqual,为 '<>' 比较:NotEqual(一个:类型; B:型):布尔值;
- GREATERTHAN,关于 '>' 比较:GREATERTHAN(一个:类型; B:类型)布尔值;
- GreaterThanOrEqual,关于 '> =' 比较:GreaterThanOrEqual(一个:类型; B:型):与resultType;
- 每种不超过,对于 '<' 比较:每种不超过(A:类型; B:型):与resultType;
- LessThanOrEqual,关于 '<=' 比较:LessThanOrEqual(一个:类型; B:型):与resultType;
我只是把我的笔记在线会话上可空类型与操作符重载,我在几个会议了。
现在,它包含了运营商,名称的表,什么工作/不工作。 WordPress的最初畸形是表,但我设法恢复它。
您也可以下载全套幻灯片和源代码演示 。
简而言之:
- 该文件(甚至DocWiki)是不完整的,并注意可靠
- 你不能重载不按位运算符,如BitwiseNot不被编译器支持。 你必须重载逻辑不是运营商代替。
- 超载运营成对适用
- 要知道现有的运营商
- 实现隐性运营商时要非常小心
希望这可以帮助你。 让我知道如果你需要更多的信息:我已经做了相当多的生产工作与操作符重载。
--jeroen