Co to jest statyczna funkcja składowa w C ++?



W tym artykule znajdziesz szczegółową i wszechstronną wiedzę o statycznych funkcjach składowych w C ++ wraz z przykładami.

Static to słowo kluczowe w językach C i C ++, które służy do deklarowania specjalnego typu zmiennej lub funkcji wewnątrz lub na zewnątrz klasy. W tym poście pokrótce zrozumiemy koncepcję statycznych zmiennych składowych i statycznych funkcji składowych w języku c ++ i porównamy je z normalnymi zmiennymi i funkcjami w następującej kolejności:

Statyczne zmienne składowe

Zmienne klasyfikowane jako statyczne są również częścią C. załóżmy, że w funkcji są 2 zmienne, jedna jest zmienną normalną, a druga zmienną statyczną. Normalna zmienna jest tworzona, gdy wywoływana jest funkcja, a jej zakres jest ograniczony. Podczas gdy zmienna statyczna jest tworzona raz i niszczona na końcu programu. Te zmienne mają żywotność przez cały program.





#include using namespace std void Test () {static int x = 1 x = ++ x int y = 1 y = ++ y cout<<'x = '<

Wynik:

static-member-variables-1



Z powyższego wyniku możemy wywnioskować, że za każdym razem, gdy wywoływano funkcję Test (), tworzona była kopia zmiennej „y”, podczas gdy ta sama kopia zmiennej „x” była używana za każdym razem, gdy wywoływano funkcję Test ().

Omówmy teraz charakterystykę zmiennych statycznych

do mocy w java
  1. Zmienne statyczne są inicjalizowane na 0. Jest inicjalizowana tylko raz.



  2. W całym programie tworzona jest tylko jedna kopia statycznej zmiennej składowej dla całej klasy, stąd statyczne zmienne składowe są również nazywane zmiennymi klas. Jest współdzielony przez wszystkie instancje klasy.

  3. Statyczna zmienna składowa jest widoczna tylko w klasie, ale jej okres istnienia trwa do zakończenia programu.

Rozważmy przykład statycznych zmiennych składowych w klasie.

#include using namespace std class Przykład {static int x public: void function1 () {x ++} void function2 () {cout<<'x = '<

Wynik:

Z powyższego wyniku widać, że zmienna „x” jest wspólna dla wszystkich obiektów. Aby szczegółowo zrozumieć koncepcję statycznych zmiennych danych, możemy pomyśleć o bibliotece, w której na różnych półkach znajduje się kilka książek. Potraktuj bibliotekę jako klasę, pozycję pewnej książki „x” jako statyczną zmienną składową i uczniów jako obiekty klasy. Kiedy pierwszy uczeńprzybył, umieszcza „x” na nowej pozycji, teraz, gdy przybędzie inny uczeń, „x” nie wróci do pierwotnej pozycji, ale pozostanie tam, gdzie zostawił je pierwszy uczeń.

java zmień podwójnie na int

Statyczne funkcje składowe w C ++

Podobnie jak statyczne zmienne składowe, mamy statyczne funkcje składowe, które są używane w określonym celu. Aby utworzyć statyczną funkcję składową, podczas deklarowania funkcji musimy użyć słowa kluczowego static. Ponieważ statyczne zmienne składowe są właściwościami klas, a nie właściwościami obiektów, aby uzyskać do nich dostęp, musimy użyć nazwy klasy zamiast nazwy obiektu.

Właściwości statycznych funkcji składowych:

  1. Funkcja statyczna może uzyskać dostęp tylko do innych zmiennych statycznych lub funkcji znajdujących się w tej samej klasie

    przekazywanie argumentów wiersza poleceń w java
  2. Statyczne funkcje składowe są wywoływane przy użyciu nazwy klasy. Składnia-nazwa_klasy :: nazwa_funkcji ()

Rozważmy klasyczny przykład, aby szczegółowo zrozumieć koncepcję statycznych funkcji składowych. W tym przykładzie zrozumiemy wszystkie pojęcia związane ze statycznymi funkcjami składowymi.

#include using namespace std class Przykład {static int Number int n public: void set_n () {n = ++ Number} void show_n () {cout<<'value of n = '<

Z powyższego wyniku widać, że wartość zmiennej „n” jest różna zarówno dla obiektów „przykład1”, jak i „przykład2” klasy „Przykład”. Ponieważ zmienna „Number” jest zmienną klasową, jej wartość jest taka sama dla obiektów „przykład1” i „przykład2”. Statyczne zmienne składowe i funkcje są używane, gdy wspólne wartości mają być wspólne dla wszystkich obiektów. Podczas programowania należy mądrze używać słowa kluczowego static.

W ten sposób doszliśmy do końca tego artykułu na temat statycznej funkcji składowej w języku c ++. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online. Szkolenie i certyfikacja J2EE i SOA firmy Edureka ma na celu przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na tym blogu, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.