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