Da TMyList nur TKnoten kennt, musst du der Prozedur eine "runtergecastete" Instanz von TMyKnoten übergeben -->
Delphi-Quellcode:
TMyList = class
private
Wurzel: TKnoten;
public
procedure Hinzufuegen(var Neu: TKnoten);
{...}
end;
TMyNewList = class(TMyList)
private
Wurzel: TNewKnoten;
public
{...}
end;
...
//Aufruf
var
Liste: TMyNewList;
NeuerKnoten: TNewKnoten;
begin
...
NeuerKnoten := TNewKnoten.Create;
Liste.Hinzufügen(NeuerKnoten); //von Typ TNewKnoten, der von TKnoten abstammt
...
Wenn du auf irgendwas zugreifen musst, was in TNewKnoten enthalten ist, dann musst du die Proezdur neu implementieren, vielleicht geht es sogar so:
Delphi-Quellcode:
procedure TMyNewList.Hinzufuegen((var Neu: TNewKnoten);
begin
inherited Hinzufuegen; // weiß nicht genau, vielleicht auch so: inherited Hinzufuegen(Neu);
//Mach irgendwas mit Neu als TNewKnoten
end;