...
Joissain tapauksissa luokan olioilla on ominaisuuksia, jotka ovat yhteisiä kaikille olioille, esim . olioiden lukumäärä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 1Esimerkki 5. Staattisen jäsenmuuttujan käsittely.
Tyontekija.h:
Code Block |
---|
#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(); |
...
}; |
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 |
...
[i |
...
].s_Laskuri << endl; |
...
|
...
|
...
|
...
|
...
}
}
|