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

 


Dernière réponse
Sujet : [C++] creer un objet avec une classe aleatoire ??
papaolive Je vais faire simple...
Je ne m'en sort pas avec factory

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
papaolive Je vais faire simple...
Je ne m'en sort pas avec factory
LeGreg j'ai un oeil par dessus ton epaule..
 
Mais tu peux te contenter de faire simple.
ce sont juste des suggestions.
 
A+
LEGREG
ArthurH arghh !
Je pensais que ça allait être "simple" :o)
Bon, je vais voir ce que je peut faire avec une factory...
 
LEGREG lis dans mon code ou quoi ?
Bien sur que Gobelinoide va se radiner :o)
Merci
LeGreg et il faudrait un mecanisme d'enregistrement
des classes  
pour que la classe factory n'ait pas a connaitre
qu'il y a une classe orc qui derive
de "gobelinoide".
 
Zut, ca va etre chaud a faire en C++..
 
A+
LEGREG
Tetragrammaton IHVH Perso, j'aurais fait une factory qui renvoie une reference du type de la classe mère (humanoide) vers une instance d'une des 4 classes (nain, hobbit etc...).
 
La factory est un singleton avec une méthode du style  

Code :
  1. Humanoide* FactoryPJ::CreeNouvelHumanoide() {
  2. Humanoide* instance = NULL;
  3.     switch(unD4) {
  4.     case 0 : instance = new Nain();
  5.     //etc...
  6.     }
  7. // tu peux en profiter pour abonner l'instance à toute sorte
  8. // d'evennements
  9.     return instance;
  10. }


 
Il y a peut etre une autre méthode mais celle ci permet de découpler les classes (le hobbit n'a pas à connaitre le nain etc...)

papaolive Voici mon main();
 
void main(void){
 init();
 
 nain o1;  
 
 cout<<"Nom:       ";
 o1.quel_prenom();  
 o1.quel_nom1();
 o1.quel_nom2();
 
 cout<<endl<<"Race:      ";
 o1.quelle_race();
 
 cout<<endl<<"Classe:    ";
 o1.quel_metier();
 
 cout<<endl<<"Age:       ";
 o1.quel_age();
 
 cout<<"Taille:    ";
 o1.quelle_taille();
 
 cout<<endl<<"\n== caracteristiques ==\n"<<endl;
 o1.quelle_FOR();
 o1.quelle_DEX();
 o1.quelle_INT();
 o1.quelle_CON();
 o1.quelle_SAG();
 o1.quelle_CHA();
 cout<<endl;
 
};
 
 
 
el les classes.
 
class humanoide:public carac {
 
 public:
  virtual void quel_nom2();
  virtual void quel_nom1();
  virtual void quel_prenom();
  virtual void quel_age();
  virtual void quelle_race();
  virtual void quelle_taille();
  virtual void quel_metier();
};
 
class nain:public humanoide {
 
 public:
   virtual void quelle_taille();
   virtual void quel_age();
   virtual void quelle_FOR();
   virtual void quelle_SAG();
   virtual void quelle_race() const {cout<<"Nain";};
   virtual void quel_metier();
};
 
class hobbit:public humanoide {
 
 public:
   virtual void quelle_taille();
   virtual void quel_age();
   virtual void quelle_FOR();
   virtual void quelle_race() const {cout<<"Hobbit";};
   virtual void quel_metier();
};
 
 
les autres classes sont du même ordre.
Que dois je mettre dans le main à la plce de nain o1;  pour que la classe appelé soit aleatoire ?
wpk si ta classe mere c'est E,
 
 
E * objs[4];
 
objs[0]= new A();
objs[1]= new B();
...
 
objs[rand()%4]->quel_cout();
papaolive J'ai créer un classe generale et 4 classes qui en herite.
C'est un programme fenetre DOS, qui cré aleatoirement un personnage. Le fait de rendre la classe "tiré" aleatoire me permet de creer une race aleatoire.
BENB Ben il faut que les quatre classes derivent d'une classe commune.... et tu renvoies un pointeur/une reference sur la clmasse de base...
 
Quel est le but ?
papaolive Bonjour,
j'ai ecrit un programme où il y 4 classes.
On va dire A B C et D.
Dans mon main() je crée un objet en faisant :      A o1; ou encore B o1
(avec o1 pour objet1)
Ensuite je fait tout un tas d'appel a des fonctions membres:
o1.quel_cout() par exemple.
 
J'aimerais que la creation de l'objet se fasse avec une des quatres classes
mais aleatoirement.
Peut être avec un pointeur ?
 
Pouvez vous m'aider ? Merci d'avance pour vos reponses.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)