[Parzialmente OT] Secondo me gli esempi con le figure geometriche non funzionano mai bene con l'OOP "alla C++" (e Java, C# e compagnia), perché aggiungono constraint sui parametri invece di implementare comportamenti più specializzati rispetto alla classe base, oltre al fatto che poi ci si ritrova con situazioni complicate da gestire come quadrato che dovrebbe gestire ereditarietà multipla da rombo e da rettangolo. Ma aspetto anch'io una risposta da qualcuno che abbia una preparazione teorica più solida della mia.[/Parzialmente OT]