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