Kun luokka peritään, kutsutaan aina jotakin perusluokan (base class, ancestor) muodostajaa (constructor).
Esimerkiksi suunnitellaan graafisia objekteja ja niille (huonoa) hierarkiaa:
cPiste ç cYmpyra ç cNelio jne.
class cPiste { int nakyy; protected: int x,y; public: void sammuta(); void sytyta(); cPiste(int ix=0,int iy=0) { nakyy = 0; x=ix; y=iy; sytyta(); } ~cPiste() { sammuta(); } void siirra(int nx=0,int ny=0); void piirra() const; int nakyvissa() const { return nakyy; } };Pisteluokan muodostajan oletetaan samalla piirtävän pisteen näytölle. Tällöin myös ympyrän muodostaja tulee piirtämään keskipisteen näytölle! Muodostajaan on ei siis saa laittaa ominaisuuksia, joita ei haluta perittäväksi. Edellä siis sytyta pois muodostajasta, jos perillisten ei haluta sytyttävän myös keskipistettä! Tai sitten muodostajaan on lisättävä yksi parametri, jolla estetään piirtäminen perinnän tapauksessa.
cPiste(char *s,int x,int y,int piirto) ...