Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

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

...


...

 

...

 

...

 

...

 }
}