Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#19

Re: Ändern der Klassenhierarchie

  Alt 18. Feb 2005, 15:14
Zitat von maximov:
Zitat von Robert_G:
...
Der IS Operator kann ja auch nicht wissen was du da zur Laufzeit machst.
wieso nicht ? Der Is-operator ist doch der laufzeit-klassenprüf-operator.
Sicher. Trotzdem kann es beim Kompilieren knallen wenn es für den Compiler absolut unmöglich erscheint, dass A von B abgeleitet ist.

Nachtrag:
Bevor die nächste Frage kommt. Einfach selbst testen
Delphi-Quellcode:
type
   TBase = class
   end;

     T1stDescendant = class(TBase)
   end;

   T2ndDescendant = class(TBase)
   end;
   TComparedType = class(T2ndDescendant)
   end;

var
  X : TComparedType;
begin
   if X is TBase then
      Writeln('ist TBase'); // geht

   if X is T1stDescendant then
      Writeln('ist T1stDescendant'); // knallt
end.
  Mit Zitat antworten Zitat