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

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

(et tu avais raison, c'est pas juste discutable, c'est laid

)
Je pense que je vais renvoyer un pointeur, c'est plus transparent je trouve.