Joissakin oliokielissä konstruktori ilmoitetaan omalla avainsanallaan. C++:ssa muodostaja on metodi, jolla on sama nimi kuin luokalla. Muodostajia voi olla useitakin. Muodostaja on aina tyypitön, siis ei edes void- tyyppiä.
#include <iostream.h> #include <iomanip.h> class cAika { int h,m; public: cAika(int ih, int im) { h = ih; m = im; } void lisaa(int lisa_min) { int yht_min = h * 60 + m + lisa_min; h = yht_min / 60; m = yht_min % 60; } void tulosta() const { cout << setfill('0') << setw(2) << h << ":" << setw(2) << m << endl; } }; int main(void) { cAika a1(12,15), a2(13,16), a3(14,25); a1.lisaa(55); a1.tulosta(); a2.lisaa(27); a2.tulosta(); a3.lisaa(39); a3.tulosta(); return 0; }Esimerkissämme muodostaja on esitelty 2-parametriseksi
cAika(int ih, int im) { h = ih; m = im; }ja sitä kutsutaan olion esittelyn yhteydessä
cAika a1(12,15);