4Fermer6
Pen^2Le 25/01/2007 à 13:16
Zephyr (./4) :
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).


ah ben oui, quel boulet (d'ailleurs je renvoie bien une référence...)
merci bisoo

Zephyr (./4) :
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.

oui oui, je me suis rendu compte du problème tout à l'heure, mais merci de soulever le problème smile (et tu avais raison, c'est pas juste discutable, c'est laid hehe)
Je pense que je vais renvoyer un pointeur, c'est plus transparent je trouve.