PDA

Visualizza la versione completa : [c++] Ereditando


andry80
03-03-2005, 10:57
Salve a tutti!!!
Avrei un problemino di ereditarietà.

Ho 5 classi di cui una base, e le altre 4 che la ereditano in cascata cioè in questo modo:

Class BASE{.....};
Class uno : public BASE{...........};
Class due : public uno{...........};
Class tre : public due{...........};
Class ultima : public tre{...........};

L'ultima classe , in modo molto originale chiamata "ultima" :) , ha all'interno un metodo "void execute(){.....}" che a sua volta richiama un metodo Run (metodo definito nella classse base e che accetta in input parametri di tipo BASE).Il problema è che in "ultima" al metodo Run io passo parametri di tipo "uno" "due" e "tre".In questo modo non va bene, è vero????
Infatti lanciando il programma , anche se non ho errori di compilazione, ho risultati del tutto sballati.
Come posso fare??

Ringrazio chiunque voglia darmi un aiutino.

dekdek
03-03-2005, 13:54
Se fai in casting verso (BASE) degli argomenti di Run?

LeleFT
03-03-2005, 15:44
Non dovrebbe essere necessario effettuare un cast in quanto un oggetto di tipo "uno", "due" o "ultima" è e rimane un oggetto di tipo "BASE" (questo per quanto riguarda l'ereditarietà: che io abbia un felino o che abbia proprio un gatto a me non interessa se considero solo mammiferi).

Non capisco che tipo di "risultati sballati" ti dia il programma... forse postando un po' più di codice si riuscirebbe a capire.


Ciao. :ciauz:

Loading