Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
esim1
esim1

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