Implementazione di un template di template.Si ha una classe Range usata come indice di un Vettore generico.Nell'esempio il vettore generico è riempito con oggetti della classe persona.La classe Vettore permette la serializzazione e deserializzazione di oggetti contenuti in esso
main1.cpp Main 1: si evidenzia l'ereditarietà del costruttore. All'istanza dell'oggetto viene richiamato il relativo costruttore. Nel caso di Classi derivate si richiama prima il costruttore padre con gli stessi parametri es: TestFiglio(char* nome) : Test(char* nome) poi si esegue altro codice necessario per inizializzare il figlio. Alla chiamata dei metodi si potrà notare come il dato membro viene correttamente settato dal costruttoremain2.cpp Main 2: si evidenzia l'eredità dei parametri quantità carne ed erba della classe onnivoro. Il metodo cosamangio() richiama appunto tali parametri ereditati dalle classi Carnivoro ed Erbivoro. Nel caso di onnivoro si è potuta notare l'ambiguità (segnalata dal compilatore) nella chiamata al metodo sleep o wakeup di cui non si effettua l'override. Cosi' come l'implementazione del metodo getname comporta ambiguità se ci si riferisce al dato 'nome' poichè viene ereditato sia da erbivoro che da carnivoro nonchè da animale. Il problema è stato superato riferendosi esplicitamente al dato Animale::nomemain3.cpp Main3: si dimostra l'uso del metodo virtual che attiva il late binding alla chiamata del metodo sfama vengono avviati i metodi 'giusti' per la classe di appartenenza dell'oggettomain4.cpp Main 4: Creazione di un vettore statico di Animale, ulteriore metodo per evidenziare la chiamata a metodi polimorfi, usando ulteriori classi der_ ivate. Viene mostrato il metodo degli operatori