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