J'ai besoin pour un cercle d'Citation:
Tu te focalise trop sur les attributs, et pas sur les fonction. Assurément, pour définir un cercle ou un carré, il faut des variables membres différentes. Maintenant, ce qui compte, c'est ce que tu veux en faire.
S'il s'agit de les dessiner, une fonction virtuelle unique peut convenir.
S'il s'agit de savoir si un point est à l'intérieur, une fonction virtuelle unique peut convenir.
C'est ça qui compte.
un membre "centre" de type point qui indique la position du cercle
un membre rayon de type float pour la longueur du rayon
Pour le rectangle il me faut au minimum
un membre "centre" de type point
un membre "directionx" de type vecteur qui indique l'orientation du rectangle
deux membres "longueur" et "largeur" de type float pour la longueur et largeur
C'est le minimum requis pour caracteriser mes cercles et mes rectangles
d'autant plus que ces membres sont utilisés pour tester les collisions
Apres pour les fonctions telle que dessiner, deplacer,... des fonctions virtuelle ne me pose pas de probleme
Donc le probleme de conception viendrait t il de ma classe objet qui aurait pour membre "forme" qui serait soit de type rectangle ou de type cercle?
Ca je savais qu'il faut pas creer une classe de base avec tout les membres.Citation:
JolyLoic a raison, tu te trompes sur le sens classe de base. Elle ne rassemble pas les propriétés de tous mais les propriétés communes à tous et qui font que chacun est dans son genre une espèce particulière de la classe de base. les classe dérivées définissent chaque comportement particulier.Citation:
Une autre solution serait de creer la classe forme qui possede tout les attributs de rectangle et cercle mais je trouve cela pas tres optimiser (mais peut etre que je me trompe car ca utilise de la memoire pour rien car pour si j ai un cercle tout les attributs du rectangle ne seront pas necessaire)de plus je compte rajouter quelles forme de plus.
Comment faut il que je creer une classe de base de type forme ayant pour classe derivee une classe de type "cercle " ou "rectangle" avec les membre énoncé au dessus?