Udostępnij za pośrednictwem


Członkowie klasy

Klasy mogą mieć następujące rodzaje członków:

Uwagi

Lista członków klasy może być podzielony na private, protected i publicznych sekcje przy użyciu słów kluczowych, znane jako specyfikatory dostępu.Dwukropek : musi następować specyfikatora dostępu.Sekcje te nie muszą być ciągły, to znaczy dowolnego z tych słów kluczowych może pojawić się kilka razy z listy elementów członkowskich.Słowo kluczowe wyznacza dostęp wszystkim członkom, aż do momentu następnego specyfikator dostępu lub nawias zamykający.

Deklaracje członków z listy elementów członkowskich są oddzielone średnikami ;.Zobacz składni deklaracji członek klasy.

Celem lista członków jest:

  • Stwierdzenie pełnego zestawu elementów członkowskich dla danej klasy.

  • Określanie dostępu (publiczne, prywatna lub chroniona) związanych z różnych członków klasy.

W deklaracji lista członków można zadeklarować członków tylko raz; redeclaration członkowie generuje komunikat o błędzie.Lista członków jest kompletny zestaw elementów członkowskich, dlatego nie można dodawać członków danej klasy z deklaracjami kolejnych klasy.

Declarators Członkowskich nie może zawierać inicjatorów.Dostarczanie inicjator generuje komunikat o błędzie, co ilustruje poniższy kod:

// 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()
{
}

Ponieważ osobne wystąpienie niestatycznego członka danych jest tworzony dla każdego obiektu typu danej klasy, prawidłowy sposób, aby zainicjować danych jest użycie konstruktora klasy.(Konstruktory są objęte w konstruktory,.)

Istnieje tylko jedna kopia udostępnionego członków danych statycznych dla wszystkich obiektów typu danej klasy.Dane statyczne członków musi być zdefiniowany i mogą być inicjowane w zakresie pliku.(Aby uzyskać więcej informacji o członkach danych statycznych, zobacz Elementy statyczne danych.) Jak wykonać inicjowania te można znaleźć w poniższym przykładzie:

// 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()
{
}

[!UWAGA]

Nazwa klasy CanInit, należy poprzedzić i , aby określić, że i definiowany jest członkiem klasy CanInit.

Programu Microsoft

Microsoft C++ umożliwia członkom dane statyczne, const enum integralną i const zostać zainicjowana w definicji klasy.Zobacz Rozszerzeń Microsoft C i C++.

Zobacz też

Informacje

Klasy, struktury i związki