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