Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

DCC W1010: Ich verberge nichts, dennoch wird gemeckert

  Alt 25. Nov 2010, 11:16
Delphi-Version: 2010
Code:
[DCC Warnung] ...: W1010 Methode '...' verbirgt virtuelle Methode vom Basistyp '...'
[DCC Warning] ...: W1010 Method '...' hides virtual method of base type '...'

Delphi-Quellcode:
TSingleton = Class
  Constructor Create; Virtual;
End;

TDemoSingleton = Class(TSingleton)
  Constructor Create;                 Overload; Override;
  Constructor Create(Param: Integer); Overload;
End;
Das Konstrukt ist so gewollt.

Das neue Create ruft auch das aktuelle virtuelle Create auf.

Und verdeckt wird auch nichts, da sich ja die Parameter unterscheiden.
Wenn ich das parameterlose Create ohne override deklariert hätte, dann hätt ich diese Fehlermeldung ja akzeptiert.

Wie kann ich nun diese Fehlermeldung für genau diesen Fall abschalten?
Mir ist grade wieder das Delphi-Referenz durchsuchenreintroduce eingefallen.

Gut, aber dennoch die Frage:
Warum wird gemeckert, obwohl nichts verdeckt wird?




Und die Reihenfolge dieser Direktiven versteh' ich och nicht.
Wieso muß reintroduce vor overload angegeben werden und virtual/override nach overload? Diese reintroduce, virtual und override sind doch von der selben Art.
Und wieso kann man sich die Reihenfolge nicht aussuchen?
$2B or not $2B
  Mit Zitat antworten Zitat