Creation d'objet + concatenation en C++

Fermé
Sanches - 15 févr. 2008 à 16:58
Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 - 15 févr. 2008 à 20:04
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.
A voir également:

2 réponses

Emeric84 Messages postés 30 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 24 avril 2008 8
15 févr. 2008 à 19:10
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]
0
Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
15 févr. 2008 à 20:04
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..
0