C++/Składniki statyczne: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
clearly
Derbeth (dyskusja | edycje)
Wycofanie wersji 66104 utworzonej przez Special:Contributions/83.29.193.183 (User talk:83.29.193.183) dziwna konwencja nazewnicza
Linia 19:
iloscInstancji--;
}
static int Get_iloscInstancjiIloscInstancji()
{
return iloscInstancji;
Linia 27:
int Klasa::iloscInstancji=0;
 
Jak widać do obiektów statycznych z wewnątrz klasy możemy się odwołać tak samo jak do innych pól. Pole ''Get_iloscInstancjiIloscInstancji'' w powyższym przykładzie nie jest jednak zwykłym polem - jest polem '''statycznym'''. Oznacza to, że powstanie tylko jedna instancja tego pola. W powyższym przykładzie ''iloscInstancji'' ma za zadanie zliczania ile powstało obiektów klasy ''Klasa''.
 
W powyższym przykładzie ponadto istnieje '''metoda statyczna'''. Z takiej metody nie można się odwołać do niestatycznych elementów klasy. Zarówno do '''klasy statycznej''' jak do '''statycznego pola''' możemy się odwołać nawet jeżeli nie został stworzony żaden obiekt klasy ''Klasa''.
 
Odwołanie się do '''metody statycznej''' ''Get_iloscInstancjiIloscInstancji'' z programu wymaga następująco:
int i=Klasa::Get_iloscInstancjiIloscInstancji();
Gdyby zaś pole ''iloscInstancji'' było publiczne, a nie chronione, to moglibyśmy się do niego odwołać poprzez:
int i=Klasa::iloscInstancji;