C'est pas un bug mais bien une erreur, on ne peut pas écrire A* a = new B[100];
un A n'a pas forcément la même taille qu'un B, donc on ne
peut pas voir un tableau de B comme un tableau de A (malgrés
le fait que B hérite bien de A).
zaibacker : ce sont les fonctions virtuelles PURES qui doivent obligatoirement être implémentées, et même tu n'es pas obligé du moment que ta classe dérivée est une classe abstraite aussi.
Mais bon en effet dans la majorité des cas...
Ca fonctionne...
Peut-être un problème au niveau des destructeurs virtuels, c'est la première fois que je m'en sers, mais j'ai rien trouvé de très précis ni avec Google, ni dans mes 2 bouquins de 500 pages :/
Et quand je supprime la dérivation par list (ie B ne dérive que de A) ca fonctionne aussi.
Ce serait l'appel au destructeur de list qui poserait problème ? Oô
Là je rame... D'autant plus que le code fonctionne chez vous ^_^
Je vais te croire sur parole, n'ayant rien pu trouver sur Internet (là je suis en train de fouiller « ISO/IEC 14882: Programming Language C++ » ... >_<")