...
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 | ||||
---|---|---|---|---|
|
Esimerkki 1. Staattisen jäsenmuuttujan käsittely.
Tyontekija.h:
Code Block |
---|
esim. olioiden lukumäärä. Tällaiset muuttujat voidaan luoda staattisina, jolloin jokaisella luokasta tehdyllä oliolla näkyy sama arvo. Esimerkki 5. Staattisen jäsenmuuttujan käsittely. \#include <iostream> using namespace std; class CTyontekija { private: static int s_Laskuri; // laskuri laskee työntekijöiden määrää public: CTyontekija CTyontekija(); // kts. Muodostimet ja hajoittimet ~CTyontekija ~CTyontekija(); }; |
Tyontekija.cpp:
Code Block |
---|
int CTyontekija::s_Laskuri = 0; // Alustetaan staattinen muuttuja CTyontekija::CTyontekija() { s_Laskuri++; cout << "CTyontekija() - s_Laskuri = " << s_Laskuri << endl; } CTyontekija::~CTyontekija() { s_Laskuri--; } |
main.cpp:
Code Block |
---|
int main() { CTyontekija Tyontekijat\[4\]; for (int i=0; i<4; i++) { cout << "Tyontekijat\[" << i <<"\].s_Laskuri = " << Tyontekijat\<< Tyontekijat[i\].s_Laskuri << endl; } } Ajakaa yllä oleva esimerkki ja selvittäkää miksi se käyttäytyy sillä tavalla.\\ h4. } } |