Sdílet prostřednictvím


Názvy a kvalifikovanou

Názvy používané s operátorem binární rozsah rozlišení (::) se nazývají "kvalifikovaný název." Název zadaný po binární rozlišení oboru operátor musí být členem třídy určené na levé operátor nebo člen jeho základní třídy.

Po výběru členů operátor názvy (. nebo – >), musí být členy typu třídy objektu určeného vlevo provozovatele nebo členy jeho základní třídy.Názvy zadané na pravé straně operátoru výběr členů (– >) může být také objekty jiného typu třídy předpokladu, že levé straně – > je třída objektu a že třída definuje operátor přetížené výběr členů (– >) vyhodnocen ukazatel na jiný typ třídy.(Toto ustanovení je podrobněji v Přístup člen třídy.)

Kompilátor vyhledává názvy v následujícím pořadí, zastavení nalezený název:

  1. Aktuální rozsah blok-li použít název uvnitř funkce; v opačném případě globální obor.

  2. Ven přes každý obor vnějšího bloku včetně oboru nejvzdálenějších funkci (která zahrnuje argumenty funkce).

  3. Pokud je použití názvu uvnitř funkce člena třídy oboru hledali název.

  4. Třídy základní třídy jsou vyhledávány název.

  5. Orámování vnořené třídy oboru (pokud existuje) a její základny jsou prohledávány.Hledání pokračuje, dokud je prohledána nejvzdálenějších ohraničující třídy oboru.

  6. Vyhledává globálním rozsahem.

Však můžete provést změny v tomto pořadí hledání takto:

  1. Názvy předchází :: v platnost začne v globální obor hledání.

  2. Názvy předchází třídy, struct, a unie klíčová slova vynutit kompilátoru hledat pouze třídy, struct, nebo unie názvy.

  3. Na levé straně operátoru rozlišení oboru názvů (::) může být pouze třídy, struct, oboru názvů, nebo unie názvy.

Název odkazuje na nestatické člen, ale používá v statickou členské funkce, je vygenerována chybová zpráva.Podobně, pokud název odkazuje na kterýkoli člen nestatické ohraničující třídy, chybová zpráva je generována uzavřených tříd obklopuje třídy nemáte této ukazatelů.

Viz také

Referenční dokumentace

Souhrn pravidel oboru