/** * auteurs : Michel Landschoot * mail : direction@landsnet.com * date de création : 2013-12-21 * description : impléméntation d'une hiérarchie de figures géométrique et filtrage * selon certaines conditions. * * L'implémentation proposée repose sur la recopie dynamique d'instances aussi bien * allouées staitiquement que dynamiquement * Le partage d'instances n'est pas possible. * * Une fonction virtuelle de copy de recopie dynamique est proposée dans chaque classe * de la hiérarchie. Elle simule les constructeurs virtuels : le C++ ne les autorise pas. * * Cette fonction de copie virtuelle est appelée dans les constructeurs de copie et dans * la fonction ajouter de la classe Image. * * Plus précisemment, les instances sont recopiées lorsqu'elles sont ajoutées dans le * tableau de figures. * Dans la méthode ajouter on a : _tableau[_nombre++] = (&f)->copy(); * * * Dès lors, le destructeur de la classe Image doit appeler les destructeurs des figures * pointées par le tableau de pointeurs. virtual ~Image() { for (int i = 0; i < getNombre(); i++) { delete _tableau[i]; } } * Une autre implémentation consisterait à partager des instances allouées dynamiquement * Le recours à des COMPTEURS DE REFERENCE serait alors indispensable. */