[fpc-devel] override works, even if result type changed?
Martin Frb
lazarus at mfriebe.de
Sun Feb 23 17:56:26 CET 2014
Just found that the below works.
Note, that the result type of "a" (overridden) is different.
Well, TFoo2 will always satisfy the needs of TFoo, so it seems save. I
still found it surprising. Is it intended?
program Project1;
type
TFoo= class
public
function a: TFoo; virtual;
end;
TFoo2= class(TFoo)
public
function a: TFoo2; override;
end;
function TFoo2.a: TFoo2;
begin
end;
function TFoo.a: TFoo;
begin
end;
begin
end.
More information about the fpc-devel
mailing list