Bonjour, je me pose quelques questions par rapport aux lien entre les dessinables et leur(s) supporàdessin(s).
Tout d'abord, l'utilisation des shared_ptr n'est-elle pas exceptionnellement conseillée dans le cas des SupportADessin ? En effet, il y a clairement une notion de partage d'un même support par différents dessinables (on n'utilise donc pas de unique_ptr) et l'utilisation de shared_ptr pourrait apporter plus de sécurité que des "pointeurs à la C" ...
D'autre part, comment garantir que le support d'un (ou plusieurs) dessinable existe toujours le temps nécessaire ? On a vu, dans le cours de Jeudi, que pour garantir cela dans le cas des collection hétérogène, on fait une copie d'un objet à ajouter, pour être sûr qu'une fois ajouter il vive aussi longtemps que la classe le décide (si j'ai bien compris le cours). Mais on se trouve ici dans un cas différent puisque que le support à dessin n'est pas copié et est paratagé par plusieurs dessinables. Faut-il alors prendre le risque ? Et éventuellement lancer une exception dans le cas où un dessinable aurait un SupportADessin qui n'existe plus... Ou bien y a-t-il une autre possibilité ?
Enfin, dans l'idée que toutes les toupies d'un même système ont le même SupportADessin (=celui du système), comment garantir cela à la construction du système ou plus généralement à l'ajout d'une toupie au système ? Créer une méthode pour modifier le SupportADessin d'une toupie, et y faire appelle ? Cela ne me semble pas une être une bonne solution... Ou bien lancer une exception si le support a dessin d'une toupie à ajouter est différent de celui du système, mais comment compare-t-on deux support à dessin....
Merci d'avance.