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)