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

...

Vakiot

...

jäsenmuuttujina

...

Luokkien

...

jäsenmuuttujat,

...

jotka

...

ovat

...

const-tyyppisiä,

...

tulee

...

aina

...

alustaa

...

initialisointilistassa.

...

Jäsenmuuttujia,

...

jotka

...

on

...

määritelty

...

vakioiksi,

...

ei

...

voi

...

muuttaa

...

ajon

...

aikana.

...

Esimerkki

...

1.

...

Vakio

...

jäsenmuuttujan

...

alustaminen.

{
Code Block
}
class CYmpyra
{
public:
    CYmpyra();

private:
    const float m_Pii;          // Vakio, koska piin arvo ei muutu.
};
{code}
{code}
Code Block
// Muodostimen toteutus:
CYmpyra::CYmpyra() :    
    m_Pii(3.145)                // Kaikki const-tyyppiset muuttujat alustetaan  initialisointilistassa.
{
}
{code}

Tässä

...

esimerkissä

...

esitellään

...

luokka,

...

jolla

...

on

...

yksi

...

jäsenmuuttuja,

...

joka

...

on

...

vakio.

...

Se

...

täytyy

...

alustaa

...

muodostimen

...

initialisointilistassa.

...

Esimerkki

...

2.

...

Olio

...

vakiona

...

jäsenmuuttujana.

{
Code Block
}
class CKannet
{  
public:    
   CKannet(const char Nimi[])
   {
   }
};
{
Code Block
}
{code}
class CKirja
{
public:
    CKirja();

private:    
    const CKannet m_Kannet;    // Vakio
};
{
Code Block
}
{code}
// Muodostimen toteutus:
CKirja() :
    m_Kannet("Moby Dick")      // Tämä kutsuu CKannet-luokan muodostinta.
{
}
{code}

Tässä

...

esimerkissä

...

käytetään

...

koostumista.

...

HUOM

...

!

...

Initialisointilistassa

...

kutsutaan

...

nyt

...

CKannet-luokan

...

muodostinta.

...

Staattiset

...

vakiot

...

jäsenmuuttujina

...

Luokkien

...

jäsenmuuttujat,

...

jotka

...

ovat

...

const

...

static-tyyppisiä,

...

pitää

...

alustaa

...

suoraan

...

esittelyssä,

...

sillä

...

ne

...

ovat

...

luokkakohtaisia

...

(static)

...

ja

...

vakioita

...

(const).

...

Esimerkki

...

3.

...

Staattisen

...

vakio-jäsenmuuttujan

...

alustaminen.

{
Code Block
}
class CLuokka
{
public:
   const int PalautaVakio()
   {
       return VAKIO;
   }

private:
    const static int VAKIO = -6;   // Yksi yleinen tapa on kirjoittaa vakiot ISOILLA KIRJAIMILLA. ei  pakollista.

};
Code Block
{code}
{code}
int main()
{
   CLuokka luokka;
   printf("VAKIO = %d", luokka.PalautaVakio());

   return 0;
}
{code}