Programowanie obiektowe, C++
Statyczne zmienne i metody w klasie
[lekcja] 3. Omówienie zmiennych i metod statycznych w klasie.Wprowadzenie
W tej lekcji dowiesz się, czym są zmienne i metody statyczne oraz jak ich używać. Powinieneś wiedzieć, co to są klasy i metody.
Statyczne zmienne i metody
Statyczne zmienne i metody w klasach to inaczej składowe, które są powiązane z klasą, a nie z obiektem. Statyczne mogą być dane i metody. W przypadku danych, przez cały czas pracy programu, istnieje tylko jeden egzemplarz każdego pola. Metody statyczne nie mają dostępu do niestatycznych metod i zmiennych.
class Klasa
{
static int PrywatnaStatyczna;
public:
static int PublicznaStatyczna;
static int PublicznaStatycznaMetoda()
{
return 2;
}
static int PubStatMetoda2();
};
int Klasa::PubStatMetoda2()
{
return 3;
}
Statyczne dane muszą być zdefiniowane poza definicją klasy. Definicja może wystąpić tylko raz przez cały kod programu.
int Klasa::PrywatnaStatyczna = 0;
int Klasa::PublicznaStatyczna = 0;
Odwoływanie się do składowych statycznych wygląda jak odwoływanie się do zmiennych/funkcji z przestrzeni nazw:
Klasa::PublicznaStatyczna = 0;
Klasa::PublicznaStatycznaMetoda();
Przykład
#include <iostream>
class Klasa
{
static int wspolne;
public:
void metoda()
{
std::cout << wspolne << std::endl;
++wspolne;
}
};
int Klasa::wspolne = 0;
int main()
{
Klasa a, b, c;
a.metoda();
b.metoda();
c.metoda();
b.metoda();
a.metoda();
c.metoda();
}
0
1
2
3
4
5
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.