On Tue, 3 Feb 2026, Martin Frb via fpc-devel wrote:
On 02/02/2026 22:59, Michael Van Canneyt via fpc-devel wrote:
On Mon, 2 Feb 2026, Martin Frb via fpc-devel wrote:
In a class, an overridden function can actually return a subclass of
what the virtual method returned.
I don't understand this remark. Please explain ?
See below, the overriden method returns a subclass. (works with subclass
as result too).
program Project1;
{$Mode objfpc}{$Interfaces corba}
type
IFoo = interface end;
IFoo2 = interface(IFoo) end;
TBar = class
function abc: IFoo; virtual;
end;
TBar2 = class(TBar)
function abc: IFoo2; override; // inherited interface as result type
end;
function TBar2.abc: IFoo2;
begin
end;
function TBar.abc: IFoo;
begin
end;
2 remarks
- Does not compile in Delphi.
- Please use 'plain text' format for your mails. I can't copy & paste this
code and compile: it is full of unicode spaces and whatnot. I needed a hex
dump to understand what was happening.
Michael.
_______________________________________________
fpc-devel maillist - [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel