Einzelnen Beitrag anzeigen

Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Virtuelle Methode überladen

  Alt 4. Aug 2014, 07:21
Moin,

ich habe folgendes Konstrukt:
Delphi-Quellcode:
  TClass1 = class
  public
    procedure DoSomething; virtual;
  end;

  TClass2 = class(TClass1)
  public
    procedure DoSomething(AText : String); overload;
  end;
Beim Compilieren bekomme ich die Warnung: [dcc32 Warnung] Unit7.pas(17): W1010 Methode 'DoSomething' verbirgt virtuelle Methode vom Basistyp 'TClass1'

Ich verstehe nicht, warum das so ist. Die Deklaration von TClass2.DoSomething unterscheidet sich doch von TClass1.DoSomething (es wird ja nur eine Überladung hinzugefügt). Warum wird dann die Methode aus TClass1 verborgen? Und wie kann ich das verhindern?

Danke!
Jens
  Mit Zitat antworten Zitat