Перегрузка операций
Материал из Вики проекта PascalABC.NET
После перегрузки классом или записью операций он ведет себя как стандартный тип.
type Frac = record private num,denom: integer; public constructor (n,d: integer); begin num := n; denom := d; end; class function operator+(a,b: Frac): Frac; begin Result := new Frac(a.num*b.denom+b.num*a.denom,a.denom*b.denom); end; function ToString: string; override; begin Result := Format('{0}/{1}',num,denom); end; end; var f := new Frac(1,2); f1 := new Frac(3,5); begin writelnFormat('{0} + {1} = {2}',f,f1,f+f1); end.
