Sdílet prostřednictvím


Členové třídy

Třídy mohou mít tyto druhy členů:

Poznámky

Seznam členů třídy může být rozdělen do private, protected a veřejné oddíly pomocí klíčových slov, známé jako specifikátory přístupu.Dvojtečka : musí následovat specifikátor přístupu.Tyto oddíly nemusí být souvislé, je některý z těchto klíčových slov může se několikrát v seznamu členů.Klíčové slovo označí přístup všech členů až do další specifikátor přístupu nebo pravá složená závorka.

Deklarace člena v seznamu členů jsou odděleny středníky ;.Viz Syntaxe deklarace člen třídy.

Účelem seznamu členů je:

  • Kompletní sadu členů pro danou třídu Deklarujte.

  • Určete přístup (veřejná, soukromá nebo chráněná), spojené s různými členy třídy.

V prohlášení seznam členů můžete deklarovat členy pouze jednou; redeclaration členové vyvolá chybovou zprávu.Seznam členů je úplnou sadu členů, nelze přidat členy do dané třídy třída následných prohlášení.

Člen declarators nemůže obsahovat Inicializátory.Inicializátor dodávající vyvolá chybovou zprávu, jak je znázorněno v následujícím kódu:

// class_members1.cpp
// C2864 expected
class CantInit
{
public:
    long l = 7;       // Error: attempt to initialize
                      //  class member.
    static int i = 9; // Error: must be defined and initialized
                      // outside of class declaration.
};
int main()
{
}

Samostatnou instanci nestatické členských dat je vytvořena pro každý objekt typu dané třídy, je správný způsob inicializace členských dat pomocí konstruktoru třídy.(Konstruktory, jsou zahrnuty v konstruktory,.)

Existuje pouze jedna kopie sdílených členů statická data pro všechny objekty typu dané třídy.Členové statická data musí být definovány a mohou být inicializovány v rozsahu souboru.(Další informace o statických dat členů viz Statické členy Data.) Následující příklad ukazuje, jak provést tyto inicializace:

// class_members2.cpp
class CanInit
{
public:
    CanInit() { l = 7; } // Initializes l when new objects of type 
                         //  CanInit are created.
    long       l;
    static int i;
    static int j;
};

// i is defined at file scope and initialized to 15.
// The initializer is evaluated in the scope of CanInit.
int CanInit::i = 15;                                                       

// The right side of the initializer is in the scope 
// of the object being initialized
int CanInit::j = i;  

int main()
{
}

[!POZNÁMKA]

Název třídy CanInit, musí předcházet i určíte, že i členem třídy definované je CanInit.

Konkrétní společnosti Microsoft

Microsoft C++ umožňuje statické const nedílnou a const výčtu členů dat inicializovat v definici třídy.Viz Rozšíření Microsoft C a C++.

Viz také

Referenční dokumentace

Třídy, struktury a odbory