Wiki Markup |
---|
h4. Staattiset jäsenmuuttujat |
...
Joissain tapauksissa luokan olioilla on ominaisuuksia, jotka ovat yhteisiä kaikille olioille, esim tieto siitä kuinka monta olioita luokasta on luoto. Tällaiset muuttujat voidaan luoda *staattisina*, jolloin +jokaisella luokasta tehdyllä oliolla näkyy sama arvo+. |
...
{anchor |
...
:esim1} Esimerkki 1. Staattisen jäsenmuuttujan käsittely. |
...
*Tyontekija.h: |
...
* {code |
} #include <iostream> using namespace std; class CTyontekija { private: static int s_Laskuri; // laskuri laskee työntekijöiden määrää public: CTyontekija(); // kts. Muodostimet ja hajoittimet ~CTyontekija(); }; {code} *Tyontekija.cpp: |
...
* {code |
} int CTyontekija::s_Laskuri = 0; // Alustetaan staattinen muuttuja CTyontekija::CTyontekija() { s_Laskuri++; cout << "CTyontekija() - s_Laskuri = " << s_Laskuri << endl; } CTyontekija::~CTyontekija() { s_Laskuri--; } {code} *main.cpp: |
...
* {code |
} int main() { CTyontekija Tyontekijat[4]; for (int i=0; i<4; i++) { cout << "Tyontekijat[" << i <<"].s_Laskuri = " << Tyontekijat[i].s_Laskuri << endl; } } {code} |