Versions Compared

Key

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

...

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

...

6.

...

Vakio

...

jäsenmuuttujan

...

alustaminen.

...

Wiki Markup
class CYmpyra

...

\{

...

  private: 

...

      const float m_Pii;   

...

       // Vakio, koska piin arvo ei muutu.
  

...

public: 

...

      CYmpyra();
} ;

...

 \\

...

// 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 7. Olio vakiona jäsenmuuttujana.

...

class CKannet
\{  
 public:    

...


 CKannet(const char Nimi\[\])     \{     \}
\} ;
 
class CKirja
\{
  private:    

...


  const CKannet m_Kannet;   

...

 // Vakio

...


public:     CKirja();

...


\}

...

;

...

//

...

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

...

8.

...

Staattisen

...

vakio-jäsenmuuttujan

...

alustaminen.

...

class

...

CLuokka

...

{

...

private:

...

    

...

const

...

static

...

int

...

VAKIO

...

=

...

-6;

...

//

...

Yksi

...

yleinen

...

tapa

...

on

...

kirjoittaa

...

vakiot

...

ISOILLA

...

KIRJAIMILLA.

...

ei

...

pakollista.

...

public:

...

   

...

const

...

int

...

HaeVakio()

...

   

...


{

...

   

...

   

...

return

...

VAKIO;

...

   

...

}

...


};

...

int

...

main()

...


{

...

   

...


   CLuokka

...

l;

...

   

...


   printf("VAKIO

...

=

...

%d",

...

l.HaeVakio());

...

   

...


  return

...

0;

...


}

...