Sdílet prostřednictvím


Více základní třídy

Jak je popsáno v Vícenásobné dědění, třídy mohou být odvozeny z více než jeden základní třídy.V modelu dědičnosti více (kde jsou třídy odvozené od více než jeden základní třída) základní třídy, které jsou určeny pomocí Přehled základních prvek gramatiky (naleznete v části gramatiky Přehled).Například třída prohlášení pro CollectionOfBook, odvozené z Collection a Book, lze určit:

// deriv_MultipleBaseClasses.cpp
// compile with: /LD
class Collection {
};
class Book {};
class CollectionOfBook : public Book, public Collection {
    // New members
};

Pořadí, ve kterém jsou uvedeny základní třídy není významné, s výjimkou v určitých případech, kdy vyvolat konstruktory a destruktory.V těchto případech ovlivňuje pořadí, ve kterém jsou uvedeny základní třídy následující:

  • Pořadí, v jehož inicializace pomocí konstruktoru uskuteční.Pokud váš kód využívá Book část CollectionOfBook být inicializována před Collection část, pořadí specifikace je významné.Inicializace probíhá v pořadí tříd, které jsou specifikovány v Přehled základních.

  • Pořadí, ve kterém jsou uplatňovány destruktory vyčistit.Znovu Pokud určité třídy "části" musí být k dispozici při druhé je zničen, pořadí je významné.Destruktory nazývají v obráceném pořadí tříd uvedených v Přehled základních.

    [!POZNÁMKA]

    Pořadí specifikace základní třídy, které mohou ovlivnit rozvržení paměti třídy.Provést rozhodnutí programování založené ze základní členy v paměti.

Při zadávání Přehled základních, stejný název třídy nelze zadat více než jednou.Je možné pro třídu více než jednou za nepřímé base odvozené třídy.

Viz také

Referenční dokumentace

Odvozené třídy