3Fermer5
ZephLe 25/01/2007 à 13:06
Pour tes erreurs, c'est juste que tu ne peux pas instancier "Infos i" dans ton main puisque c'est une classe abstraite, il faudrait faire "Infos& i" pour avoir une réference (une variable de type "Infos" en Java est automatiquement un pointeur vers un objet, alors qu'en C++ c'est un objet).

Sinon il y a quelque chose qui me semble discutable, c'est le "Infos* i= new InfosPomme ; return *i ;" (tu pourrais directement faire "return *new InfosPomme" d'ailleurs) tu n'es plus en Java, et il n'y a pas de garbage collector qui va aller libérer ta variable une fois non utilisée; si tu retournes "*i", tu vas sans doute utiliser "i" comme une variable tout à fait quelconque puis l'oublier une fois les traitements terminés => leak. Perso j'aurais tendance à faire retourner un pointeur à "getInfos", pour pouvoir le delete plus tard, mais bon avec ton truc tu pourras quand même faire un "delete &i" dans ton main après le "i.print", donc à toi de voir ce qui te semble le plus élégant, c'est juste une question de goût et je laisse les adeptes de ce genre de trolls discuter de ce qui est le "mieux" tongue