Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Autor: pekfos
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.
C/C++
class Klasa
{
    static int PrywatnaStatyczna;
   
public:
    static int PublicznaStatyczna;
    static int PublicznaStatycznaMetoda()
    {
        return 2;
    }
   
    static int PubStatMetoda2();
};

int Klasa::PubStatMetoda2() //pomijamy static
{
    return 3;
}
Statyczne dane muszą być zdefiniowane poza definicją klasy. Definicja może wystąpić tylko raz przez cały kod programu.
C/C++
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:
C/C++
Klasa::PublicznaStatyczna = 0;
Klasa::PublicznaStatycznaMetoda();

Przykład

C/C++
#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
Poprzedni dokument Następny dokument
Metody Konstruktory i destruktory