Udostępnij za pośrednictwem


Statyczne funkcji elementów członkowskich

Funkcje członka statycznego jest uznawany za klasy zakres.W przeciwieństwie do funkcji niestatycznego członka te funkcje mają niejawne nie to argumentu; w związku z tym one można użyć tylko członkowie dane statyczne, moduły wyliczające lub zagnieżdżonych typów bezpośrednio.Funkcje członka statycznego jest możliwy bez korzystania z obiektu odpowiadającego typu klasy.Rozważmy następujący przykład:

Przykład

// static_member_functions.cpp
#include <stdio.h>

class StaticTest
{
private:
    static int x;
public:
    static int count()
    {
        return x;
    }
};

int StaticTest::x = 9;

int main()
{
    printf_s("%d\n", StaticTest::count());
}
  

Komentarze

W poprzednim kodzie klasy StaticTest zawiera funkcję członka statycznego count.Ta funkcja zwraca wartość Członkowskich prywatne klasy, ale nie jest niekoniecznie muszą być związane z danym obiektem typu StaticTest.

Funkcje członka statycznego mają powiązania zewnętrznych.Funkcje te nie mają to wskaźniki.W związku z powyższym do takich funkcji, obowiązują następujące ograniczenia:

  • Nie mają dostępu do niestatycznego klasy danych przy użyciu operatorów wybranych elementów członkowskich (. or –>).

  • Nie można zadeklarować jako wirtualnego.

  • Nie mają taką samą nazwę jak niestatycznego funkcji, która ma te same typy argumentów.

    [!UWAGA]

    Lewej stronie operatora wybranych elementów członkowskich (. lub ->) czy wybiera funkcji członka statycznego nie jest oceniane.Może to być ważne, jeżeli funkcja jest używana przez jego efekty uboczne.Na przykład, wyrażenie SideEffects().CountOf() nie wywołuje funkcję SideEffects.

Zobacz też

Informacje

Ten wskaźnik