Koostuminen
Luokan jäsenmuuttujina voi olla myös muita luokkia. Tätä kutsutaan koostumiseksi.
Esimerkki 1. Koostuminen.
class CProsessori { };
class CRAM { };
class CTietokone { private: CProsessori prossu; // Luodaan prossu-olio CProsessori-luokasta CRAM ram; // Luodaan ram-olio CRAM-luokasta };
Tietokone koostuu prosessorista ja emolevystä (+ muista komponenteista). CTietokone-luokka siis koostuu CProsessori ja CRAM -luokista.
Koostettujen luokkien käyttö
Koostettuja luokkien metodeja kutsutaan kuten muitakin luokkien, eli olioiden kautta. Eli: olion_nimi.metodin_nimi();
Esimerkki 2. Koostettujen olioiden kutsuminen.
// CProsessori-luokka class CProsessori { public: int Laske(); }; // CRAM-luokka class CRAM { public: void Talleta(); }; class CTietokone { private: CProsessori prossu; CRAM muisti; public: void Suorita() { prossu.Laske(); muisti.Talleta(); } };