Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1372 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  OOP : Créer objets de types distincts mais dérivés d'un type commun

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

OOP : Créer objets de types distincts mais dérivés d'un type commun

n°247015
Ace17
Posté le 17-11-2002 à 14:32:25  profilanswer
 

J'ai une list déclarée ainsi :
list<Sprite>
Sprite étant un type ayant une position une vitesse, etc... mais aucune spécificité. Pour modéliser un certain type de sprite, j'ai fait des classes dérivées de Sprite. Mais est-ce que je vais pouvoir stocker dans cette liste des dérivés de Sprite, ou alors il va falloir que je fasse une liste de pointeurs a la place?


Message édité par Ace17 le 19-11-2002 à 18:49:16
mood
Publicité
Posté le 17-11-2002 à 14:32:25  profilanswer
 

n°247028
wpk
Posté le 17-11-2002 à 14:49:52  profilanswer
 

tu dois mettre des pointeurs dans ta liste. Qd tu ecris
std::list<Sprite>, tu stocke dans ta liste des objets de type sprite ce qui signifie que tu passe par recopie et donc perds toute specificité.

n°247033
Ace17
Posté le 17-11-2002 à 14:52:56  profilanswer
 

ok, merci :hello:

n°247062
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 16:10:58  profilanswer
 

du polymorphisme a fond. oublies pas de declarer tes fonctions virtuelles et surtout le destructeur


---------------
du bon usage de rand [C] / [C++]
n°247088
Ace17
Posté le 17-11-2002 à 17:34:28  profilanswer
 

Taz@PPC a écrit a écrit :

du polymorphisme a fond. oublies pas de declarer tes fonctions virtuelles et surtout le destructeur




 
merci du conseil :)

n°247136
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 19:05:53  profilanswer
 

si t'as des doutes ou que tu veux soumettre ton code, n'hesite pas


---------------
du bon usage de rand [C] / [C++]
n°248004
Ace17
Posté le 18-11-2002 à 21:38:38  profilanswer
 

Ouais, y'a un truc qui me chiffone. Comme c'est l'user qui définit quel type de sprite il veut créer, et que chaque type de sprite, bien que dérivé, est quand meme un type a part entiere, comment dois-je faire pour la création? Un grand switch? Ou y'a-t-il un moyen plus propre?

n°248180
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 19-11-2002 à 07:10:14  profilanswer
 

je pense


---------------
du bon usage de rand [C] / [C++]
n°248877
Ace17
Posté le 19-11-2002 à 18:33:06  profilanswer
 

Taz@PPC a écrit a écrit :

je pense




et tu penses quoi? :D

n°248968
BifaceMcLe​OD
The HighGlandeur
Posté le 19-11-2002 à 19:41:11  profilanswer
 

Le Grand Switch, ça s'appelle une Factory.
 
"Que le Grand Switch me swotche" disait un illustre (de) Hadoque. Enfin, quelque chose comme ça...  :D

mood
Publicité
Posté le 19-11-2002 à 19:41:11  profilanswer
 

n°250609
BENB
100% Lux.
Posté le 21-11-2002 à 14:28:00  profilanswer
 

Ace17 a écrit a écrit :

Ouais, y'a un truc qui me chiffone. Comme c'est l'user qui définit quel type de sprite il veut créer, et que chaque type de sprite, bien que dérivé, est quand meme un type a part entiere, comment dois-je faire pour la création? Un grand switch? Ou y'a-t-il un moyen plus propre?




 
Comme l'a indique BifaceMcLoad, ca s'appelle une factory. Il existe aussi des VirtualFactories qui remplacent le switch par des classes derivee (de SpriteFactory par ex) Ces classes peuvent par exemple decrire chaque sprite et comporter une methode virtuelle CreateSprite qui instancie le bon sprite.
 
On peut meme ne faire qu'une seule classe avec une methode vituelle Clone qui instancie une copie du sprite en question.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  OOP : Créer objets de types distincts mais dérivés d'un type commun

 

Sujets relatifs
connaître le typeCommunauté HFR: projet commun: Le site est en ligne
Besoin d'aide pour creer une fonction PHPComment faire une scrollbar pour un type Canvas ?
simple probleme sur les objets (je debute)Comment créer un AVI avec interleave et preload ?
Peut on ajouter une image dans un type java .awt.List ?Pb de tableau de type File
[mysql] comment changer le type d'une table ?Quel language pour ce type d' application intranet ????
Plus de sujets relatifs à : OOP : Créer objets de types distincts mais dérivés d'un type commun


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR