Nell'esempio proposto viene definita una classe Rettangolo che deriva dalle superclassi Poligono e Output. Da queste, la classe Rettangolo erediterà i metodi e le proprietà definite con access specifier public o protected.
Per semplificare la struttura del codice non vengono utilizzati, in questo esempio, i file header.
class Poligono { protected: int larghezza, altezza; public: void setValori (int lar, int alt) { larghezza = lar; altezza = alt; } }; class Output { public: void output (int i) { cout << i } }; class Rettangolo: public Poligono, public Output { public: int area () { return (larghezza * altezza); } void visualizzaArea() { output(area()); } };