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
reintroduce 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?