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.

public:
    CYmpyra();
};
Code Block
// Muodostimen toteutus:
CYmpyra::CYmpyra() :
       
    m_Pii(3.145)                               // Kaikki const-tyyppiset muuttujat alustetaan  initialisointilistassa.
{
}

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
class CKirja
{
public:
    CKirja();

private:
       
    const CKannet m_Kannet;     // Vakio

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

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:
private:
       const int PalautaVakio()
   {
       return VAKIO;
   }

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

public:
    const int HaeVakio()
    {
        return VAKIO;
    }
};
Code Block
int main()
{
      CLuokka lluokka;
      printf("VAKIO = %d", lluokka.HaeVakioPalautaVakio());
   

   return 0;
}

----
h4.