...
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 51. 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; } } |