[fpc-devel]Operator overloading question.
BiPolar
BiPolar at SoftHome.net
Fri Nov 7 03:23:26 CET 2003
Hello.
While trying to use the operator overload feature of FPC, I find out a
restriction not mentioned on the documentation. One can overload
several operators but not the comparison one (=); this, at least, while
operating on classes.
The code below shows this situation (commenting out the "=" operator
gives no error)
Please, disregard this message if this is "as it should be". But I
think that a small paragraph mentioning this "issue" could be included
on the docs.
Thanks for your work.
Oscar Lesta. (not on the mail list, please CC any reply)
----------------------------------------------------------------------
unit foo;
interface
type
TSomeClass = class
value1, value2 : Byte;
end;
operator + (const a, b : TSomeClass) : TSomeClass;
operator = (const a, b : TSomeClass) : Boolean;
implementation
operator + (const a, b : TSomeClass) : TSomeClass;
begin
Result.x := a.value1 + b.value1;
Result.y := a.value2 + b.value2;
end;
operator = (const a, b : TSomeClass) : Boolean;
begin
Result := (a.value1 = b.value1) and (a.value2 = b.value1);
end;
end.
----------------------------------------------------------------------
More information about the fpc-devel
mailing list