Sdílet prostřednictvím


Dědičnost klíčová slova

Konkrétní společnosti Microsoft

class [__single_inheritance] class-name;
class [__multiple_inheritance] class-name;
class [__virtual_inheritance] class-name;

kde:

  • název třídy
    Název třídy jsou deklarovány.

C++ umožňuje deklarovat ukazatele na člen třídy před definice třídy.Příklad:

class S;
int S::*p;

V kódu nahoře p je deklarován jako ukazatel na celé číslo ze třídy S.Však class S ještě nebyly definovány v tomto kódu; pouze ji byla deklarována.Když kompilátor narazí na takové ukazatele, třeba znázornění zobecněné ukazatele.Velikost vyobrazení je závislá na zadaný model dědičnosti.Model dědičnosti kompilátoru určit čtyřmi způsoby:

  • V integrovaném vývojovém prostředí pod ukazatel myši na člen reprezentace

  • Při použití příkazového řádku /vmg přepínače

  • Použití pointers_to_members pragma

  • Pomocí klíčových slov dědičnost __single_inheritance, __multiple_inheritance, a __virtual_inheritance.Tato technika se řídí model dědičnosti na základě třídy.

    [!POZNÁMKA]

    Vždy deklarovat ukazatele na člen třídy po definování třídy, nepotřebujete používat všechny tyto možnosti.

Deklarování ukazatel na člena před definice třídy třída ovlivňuje velikost a rychlost výsledného spustitelného souboru.Složitější dědičnost používá třída větší počet bajtů potřebných k představují ukazatele na člen třídy a větší kód požadované interpretovat ukazatele.Jediný dědičnost je nejméně složité a virtuální dědičnost je nejsložitější.

Pokud výše uvedený příklad je změněn na:

class __single_inheritance S;
int S::*p;

bez ohledu na možnosti příkazového řádku nebo pragmas, odkazy na členy class S použije nejmenší možné reprezentace.

[!POZNÁMKA]

Stejné dopředu prohlášení zastoupení ukazatel myši na člen třídy vyskytnou v každé jednotce překlad, která prohlašuje ukazatele pro členy této třídy a prohlášení by mělo dojít před odkazy na členy jsou deklarovány.

Konec konkrétní společnosti Microsoft

Viz také

Referenční dokumentace

Klíčových slov jazyka C++