Muodostimen initialisointilista (Initialization List)
C++-kielessä luokan jäsenmuuttujat on tarkoitus alustaa ns. initialisointilistassa. Jotkin muuttujatyypit, kuten vakiomuuttujat ja referenssit, tulee alustaa initialisointilistassa. Lisäksi joissain tapauksissa initialisointilistassa alustaminen on nopeampaa kuin muodostimessa 'normaaliin tapaan'. Tämä johtuu siitä, että kun kopioidaan ei sisäänrakennettuja tyyppejä (int, float, jne) joudutaan 'normaaliin tapaan' tehtäessä muodostamaan tilapäiskopio kopioitavasta objektista. Tätä ei tapahdu initialisointilistassa, jos
Esimerkki 3: Luokan jäsenmuuttujan alustaminen initialisointilistassa.
class CElain
{
public:
CElain();
void Tulosta();
private:
int m_Muuttuja;
};
CElain::CElain() :
m_Muuttuja(0) // Alustetaan luokan jäsenmuuttuja m_Muuttuja arvoon 0.
{
}
void CElain::Tulosta()
{
cout << "m_Muuttuja = " << m_Muuttuja << endl;
}
int main()
{
CElain kissa;
kissa.Tulosta();
}