Zitat von
3_of_8:
Wenn self=nil wäre, könnte er nicht mal die Methode aufrufen, da der Methodenzeiger aus einem Pointer auf den Code und einem Pointer auf die Klasseninstanz besteht. Das heißt, wenn die Klasse nicht instantiiert wäre, würde er bevor er in die Methode springt, übelst mit ner
AV abschmieren.
Diese Aussage stimmt nur für virtuelle Methoden, nicht aber für statische wie die Methode
Oeffnen im Beispiel von Cöster. Selbst wenn die Objektreferenz den Wert NIL enthält, wird die Methode aufgerufen. Bei virtuellen Methoden kommt es zu einer Zugriffsverletzung beim Zugriff auf die
VMT.
Gruß Hawkeye