Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Namen, die mit dem binären Bereichsauflösungsoperator (::„bezeichnet werden) qualifizierten Namen“. Der Name, der nach dem binären Bereichsauflösungsoperator angegeben wird, muss Mitglied der Klasse, die auf der linken Seite des Operators angegeben ist oder ein Member der Basisklasse sein.
Die Namen, die nach dem Member Auswahl Operator angegeben werden (. oder – >) müssen Member des Klassentyps des Objekts auf der linken Seite des Operators angegeben oder Member der Basisklasse sein.Die Namen, die auf der rechten Seite des Operators Auswahl Member (– >) angegeben werden können, auch andere Objekte eines Klassentyps werden, sofern die linke Seite der – > ein Klassenobjekt ist und dass die Klasse über einen überladenen Member Auswahl Operator (– >) definiert der in einen Zeiger auf einen anderen Klassentyp ergibt.(Diese Bereitstellung wird Klassenmember-Zugriffin ausführlicher erläutert.)
Der Compiler sucht nach Namen in der folgenden Reihenfolge, aufhörend, wenn der Name befindet:
Aktueller Blockbereich, wenn der Name innerhalb einer Funktion verwendet wird. Andernfalls globalen Gültigkeitsbereich.
Nach außen alle einschließenden Blockbereich, einschließlich des äußersten Gültigkeitsbereich der Funktion (der Funktionsargumente enthält).
Wenn der Name innerhalb einer Memberfunktion verwendet wird, wird der Umfang der Klasse für den Namen gefunden.
Die Basisklassen der Klasse werden für den Namen gefunden.
Der einschließende Bereich der geschachtelten Klasse (falls vorhanden) und die zugehörigen Basisschnittstellen wurden gefunden.Die Suche wird fortgesetzt, bis der äußerste einschließende Klasse-Bereich gefunden wird.
Globaler Bereich gefunden wird.
Sie können jedoch Änderungen an diese Suchreihenfolge ausführen:
Die Namen, die von :: vorangestellt werden, erzwingt die Suche, im globalen Gültigkeitsbereich zu starten.
Die Namen, die von Klasse, structund Union Schlüsselwörtern vorangestellt werden, erzwingt der Compiler nur für Klasse, structoder Union Namen gesucht werden soll.
Namen auf der linken Seite des Bereichsauflösungsoperators (::) können nur Klasse, struct, Namespaceoder Union Namen aufweisen.
Wenn der Name verweist, einen nicht statischen Member aber in einer statischen Memberfunktion verwendet wird, wird eine Fehlermeldung generiert.Wenn der Name einen nicht statischen Member in einem einschließenden Klasse verweist, wird eine Fehlermeldung generiert, da Klasse- einschließende Klasse nicht eingeschlossene dies Zeiger verfügen.