Różnica w C++ polega jedynie na użyciu operatora zakresu ::, zamiast . (w innych językach programowania jak Java czy C# do zmiennych statycznych w klasie odwołujemy się poprzez .).

Zmienne statyczne w bloku klasy nazywane są często polami statycznymi lub zmiennymi klasowymi.

Właściwości i wykorzystanie Zmiennych statycznych używa się jako jedno z rozwiązań uniknięcia używania zmiennych globalnych. Polega ono na zamknięciu zmiennych statycznych we wspólnej klasie. Często deklaruje się taką klasę-kontener, tak aby nie można było stworzyć obiektu tej klasy. Uzyskuje się to poprzez deklarację konstruktorów (co najmniej domyślnego), w sekcji prywatnej klasy (dodatkowo deklaruje się w sekcji prywatnej również konstruktor kopiujący i operator przypisania), np.:

class StaleMatematyczne { public: static const double pi; static const double e;

private: StaleMatematyczne() {} // pusty domyślny konstruktor StaleMatematyczne( const StaleMatematyczne& wzorzec ) {} // pusty konstruktor kopiujący StaleMatematyczne& operator =( const StaleMatematyczne& wzorzec )

return *this; // pusty operator przypisania

const double StaleMatematyczne::pi = 3.14159; const double StaleMatematyczne::e = 2.71828;

Zobacz też metoda statyczna

Kategoria:Zmienna (informatyka)