Creation d'objet + concatenation en C++
Sanches
-
Mahmah Messages postés 496 Date d'inscription Statut Membre Dernière intervention -
Mahmah Messages postés 496 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais créer des objet d'une classe Girafe. Cependant j'aimerai que se soit automatique en concaténant une chaine Gir avec un cpteur d'objet.
Comment faire s'il vous plait?
Merci
Bonne fin d'apres midi.
C'est assez urgent s'il vous plait.
Je voudrais créer des objet d'une classe Girafe. Cependant j'aimerai que se soit automatique en concaténant une chaine Gir avec un cpteur d'objet.
Comment faire s'il vous plait?
Merci
Bonne fin d'apres midi.
C'est assez urgent s'il vous plait.
A voir également:
- Creation d'objet + concatenation en C++
- Creation compte gmail - Guide
- Création site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création compte google - Guide
- Vente objet occasion entre particulier - Guide
2 réponses
Je n'ai rien compris à ton histoire de concaténation... Tu veux que tes objets prennent le nom : Gir01, Gir02, Gir03... ?
Dans ce cas crée un tableau de pointeurs de type Girafe :
Girafe* Gir[100];
Gir[0] = new Girafe(...);
Et accède-y depuis Gir[0], Gir[1]
Dans ce cas crée un tableau de pointeurs de type Girafe :
Girafe* Gir[100];
Gir[0] = new Girafe(...);
Et accède-y depuis Gir[0], Gir[1]
Bonjour,
A partir de vrai chaîne c'est pas simple, à la rigueur et d'ailleurs je ne vois pas d'autre solution, c'est de partir de symboles...
(Que l'on pourra retransformer en chaîne à souhait par la suite)
#define _CLASS( __A, __B ) class __A ## __B
Si __A ou __B est aussi un define, par exemple
#define _GIR Gir
_CLASS( _GIR, onde )
Pour ne pas obtenir la classe _GIRonde il faut définir une macro intermédiaire (en tout cas sous Win ça marche) Il faut tester comment réagit ton compilo dans les deux cas...
#define __VALUE( __V ) __V
#define _CLASS( __A, __B ) class _VALUE(__A) ## _VALUE(__B)
Pour le compteur mon compilo gére un macro __COUNTER__ auto-incrémentée, à voir si le tien à un équivalent.
M.
EDIT. Oh, oui, j'ai mis avec des classes, c'est kifkif avec des objets, le tout est de former un nom..
A partir de vrai chaîne c'est pas simple, à la rigueur et d'ailleurs je ne vois pas d'autre solution, c'est de partir de symboles...
(Que l'on pourra retransformer en chaîne à souhait par la suite)
#define _CLASS( __A, __B ) class __A ## __B
Si __A ou __B est aussi un define, par exemple
#define _GIR Gir
_CLASS( _GIR, onde )
Pour ne pas obtenir la classe _GIRonde il faut définir une macro intermédiaire (en tout cas sous Win ça marche) Il faut tester comment réagit ton compilo dans les deux cas...
#define __VALUE( __V ) __V
#define _CLASS( __A, __B ) class _VALUE(__A) ## _VALUE(__B)
Pour le compteur mon compilo gére un macro __COUNTER__ auto-incrémentée, à voir si le tien à un équivalent.
M.
EDIT. Oh, oui, j'ai mis avec des classes, c'est kifkif avec des objets, le tout est de former un nom..