You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Staattiset jäsenmuuttujat

Joissain tapauksissa luokan olioilla on ominaisuuksia, jotka ovat yhteisiä kaikille olioille, 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();              // kts. Muodostimet ja hajoittimet
    ~CTyontekija();
};

int CTyontekija::s_Laskuri = 0; // Alustetaan staattinen muuttuja

CTyontekija::CTyontekija()
{
    s_Laskuri++;
    cout << "CTyontekija() - s_Laskuri = " << s_Laskuri << endl;
}

CTyontekija::~CTyontekija()
{
    s_Laskuri--;
}

int main()
{
    CTyontekija Tyontekijat[4];
    for (int i=0; i<4; i++)

Unknown macro: {        cout << "Tyontekijat[" << i <<"].s_Laskuri = " << Tyontekijat[i].s_Laskuri << endl;    }

}
Ajakaa yllä oleva esimerkki ja selvittäkää miksi se käyttäytyy sillä tavalla.

  • No labels
You must log in to comment.