下边是一个复数的例子,范例中重载了+和<运算符:
t:=new TComplex();
t.vReal:=10;
t.vImaginary:=100;
t1:=t+t;
echo t1.vReal,"\r\n";
echo t.vReal;
Type Tcomplex=class
vReal,vImaginary;
function Operator +(data) begin
r:=new Tcomplex();
if ifreal(data) then
r.vReal:=vReal+data else begin
r.vReal:=vReal+data.vReal;
r.vImaginary:=vImaginary+data. vImaginary;
end;
return r;
end;
function Operator<(data,isLeft);
End;
Function Operator Tcomplex. <(data,isLeft);
Begin
If ifreal(data) then
V:=vReal<data
else
V:= (vReal^2+vImaginary^2)<data.vReal^2+data.vImaginary^2;
If not isLeft then V:=not V;
Return V;
End;