Zastosowanie statycznej funkcji członka w C ++

Zastosowanie statycznej funkcji członka w C ++
Blok kodu zdefiniowany pod nazwą w dowolnym języku programowania nazywana jest funkcją. Kod funkcji wykonuje się, gdy funkcja jest wywoływana w dowolnym miejscu od kodu. Dwa rodzaje funkcji można zadeklarować. Jedna to normalna funkcja, a druga jest statyczną funkcją członka. Statyczna funkcja członka jest deklarowana w specjalnym celu. Słowo kluczowe statyczne służy do deklarowania funkcji członka statycznego. Ten typ funkcji może uzyskać dostęp do innych zmiennych statycznych lub funkcji tylko tej samej klasy. Ta funkcja jest wywoływana za pomocą nazwy klasy, w której funkcja jest zadeklarowana. W tym samouczku omówione zostanie użycie funkcji członka statycznego w klasie C ++.

Przykład 1: użycie prostej funkcji statycznej członka

Sposób zdefiniowania prostej statycznej funkcji elementu w klasie C ++ i wywołania funkcji za pomocą nazwy klasy jest pokazany w poniższym przykładzie. Klasa o wymienionej funkcji statycznej członka Informacje () zdefiniował w kodzie, co wydrukuje prostą wiadomość tekstową. Informacje () Funkcja została wywołana przy użyciu nazwy klasy bez tworzenia obiektu klasy.

// Uwzględnij bibliotekę dla we/wy
#includeiostream>
za pomocą przestrzeni nazw Std;
// Zdefiniuj klasę
Klasy UseofstaticMember

publiczny:
// Deklaruj funkcję członka statycznego
static void info ()

Cout << "The static member function is called.\n";

;
int main ()

// wywoływanie statycznej funkcji członka
UsesOfStaticMember :: info ();

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu:

Przykład 2: Wydrukuj zmienną statyczną z funkcji członka statycznego

Sposób na wdrożenie zmiennej statycznej przy użyciu funkcji statycznej elementu klasy pokazano w poniższym przykładzie. Klasa ze zmienną standardową, zmienną statyczną, dwie funkcje publiczne i statyczną funkcję członka zostały zadeklarowane w kodzie. przyrost() Funkcja została zdefiniowana w celu zwiększenia wartości obu zmiennych. display_val () Funkcja została zdefiniowana w celu wydrukowania wartości zmiennej normalnej. display_static_val () Funkcja została zdefiniowana w celu wydrukowania wartości zmiennej statycznej. Utworzono dwa obiekty klasy i przyrost() Funkcja została wywołana dwa razy za pomocą dwóch obiektów. Następnie display_val () funkcja została wywołana za pomocą drugiego obiektu i display_static_val () Funkcja została wywołana przy użyciu nazwy klasy.

// Uwzględnij bibliotekę dla we/wy
#włączać
za pomocą przestrzeni nazw Std;
// Zdefiniuj klasę
Klasy UseofstaticMember

static int static_num;
int normal_num = 0;
publiczny:
// deklaruj funkcję zwiększającą wartości liczb
void increment ()
normal_num ++;
static_num ++;

// deklaruj funkcję wyświetlania wartości normy_num
void display_val ()
Cout << "The current value of normal number = " << normal_num << "\n";

// Deklaruj funkcję członka statycznego
static void display_static_val ()
Cout << "The current value of static number = " << static_num << "\n";

;
// deklaruj statyczny element danych
int użytkoweOfStaticMember :: static_num;
int main ()

// Utwórz obiekty klasy
UżytefstaticMember Object1, Object2;
// zwiększają wartości za pomocą pierwszego obiektu
obiekt1.przyrost();
// Wydrukuj wartości zmiennej normalnej
obiekt1.display_val ();
// zwiększają wartości za pomocą drugiego obiektu
obiekt2.przyrost();
// Wydrukuj wartości zmiennej normalnej
obiekt2.display_val ();
// Wydrukuj wartości zmiennej statycznej
UsesOfStaticMember :: display_static_val ();
powrót 0;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu:

Przykład 3: Dostęp do statycznej funkcji członka za pomocą klasy i obiektu

W poprzednich dwóch przykładach dostęp do statycznej funkcji członka klasy za pomocą nazwy klasy. W tym samouczku pokazano sposoby dostępu do statycznej funkcji członka za pomocą zarówno nazwy klasy, jak i obiektu klasy. Klasa z trzema zmiennymi statycznymi i statyczną funkcją członka została zdefiniowana w kodzie. Zmienne statyczne zostały zainicjowane poza klasą. Następnie wymieniona funkcja członka statycznego Wyświetlacz() został wywołany bezpośrednio za pomocą nazwy klasy i obiektu klasy.

// Uwzględnij bibliotekę dla we/wy
#włączać
za pomocą przestrzeni nazw Std;
// Zdefiniuj klasę
Klasy UseofstaticMember

prywatny:
// Zdefiniuj statyczne elementy danych
Statyczny identyfikator ciągu;
Nazwa ciągu statycznego;
statyczna pensja int;
publiczny:
// Zdefiniuj funkcję członka statycznego
static void display ()

Cout <<"ID: " << ID << "\n";
Cout <<"Name: " << Name << "\n";
Cout <<"Salary: " << Salary << "\n";

;
// Zainicjuj statyczne elementy danych
String UsesOfStaticMember :: id = "673456";
String UsesOfStaticMember :: name = "Mahmuda afroz";
int użytkoweOfStaticMember :: pensja = 70000;
int main ()

Cout<<"Print static memebers using class name:\n";
UsesOfStaticMember :: Display ();
Użycie OBJ;
Cout << "\nPrint static members using object:\n";
obj.Wyświetlacz();
powrót 0;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu:

Przykład 4: Policz całkowitą liczbę obiektów

Sposób liczenia i wydrukowania całkowitej liczby obiektów klasy jest użycie statycznej zmiennej członkowskiej i funkcji, jak pokazano w poniższym przykładzie. Klasa z konstruktorem, zmienną statyczną i statyczną funkcję członka została zdefiniowana w kodzie. Wartość zmiennej statycznej jest inicjowana do 0. Wartość zmiennej statycznej zostanie zwiększona o 1, gdy zostanie utworzony obiekt klasy. Trzy obiekty klasy są tworzone wewnątrz funkcji Main (). Następnie wywołano funkcję statycznego członka w celu wydrukowania całkowitej liczby obiektów klasy klasy.

// Uwzględnij bibliotekę dla we/wy
#włączać
za pomocą przestrzeni nazw Std;
// Zdefiniuj klasę
Klasa UseOfStaticMember
// deklaruj statyczny element danych
statyczny licznik int;
publiczny:
// zadeklaruj konstruktora
UżytefstaticMember ()
Cout <<"The constructor is called.\n";
// Zwiększ wartość statycznego elementu danych
Licznik ++;

static int Count_Objects ()

licznik powrotny;

;
// Zainicjuj statyczny członek
int UseseFstaticMember :: Counter = 0;
int main (void)
// Utwórz trzy obiekty klasy
UsesOfStaticMember Object1, Object2, Object3;
// Wydrukuj całkowitą liczbę utworzonych obiektów
Cout << "Total number of objects: " << UseOfStaticMember::count_objects() << "\n";
powrót 0;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu:

Wniosek:

Zastosowania statycznej funkcji elementu ze zmiennymi statycznymi w klasie C ++ zostały wyjaśnione w tym samouczku przy użyciu różnych przykładów. Mam nadzieję, że użycie funkcji członka statycznego będzie jasne dla czytelników po przeczytaniu tego samouczka.