Penso che Treno debba sapere delle sottoclassi perché uno dei metodi da creare è proprio per aggiungere un vagone merci o passeggeri, ognuno caratterizzato da cose diverse. Quando dici che puoi passare ad aggiungiVagone un vagone merci o passeggeri come si fa? Mio figlio nella classe treno ha creato un Vector di tipo vagone ma poi non riesce ad andare avanti perché non riesce a sondare se sta inserendo un vagone merci o passeggeri perché non trova le variabili che caratterizzano un vagone merci o passeggeri, ma solo quelle che caratterizzano un vagone generico. In questa cosa dell'ereditarietà/polimorfismo c è sicuramente qualcosa che gli sfugge.