Initialisation d'une liste de structure [Résolu]

Signaler
Messages postés
36
Date d'inscription
mercredi 27 décembre 2006
Statut
Membre
Dernière intervention
25 novembre 2010
-
Messages postés
36
Date d'inscription
mercredi 27 décembre 2006
Statut
Membre
Dernière intervention
25 novembre 2010
-
SOS aide moi.
j'utilise comme IDE le wxdevc++ je veut initialise une liste contenant une structure en utilisant la bibliothèque list.h
voila mon code comme suit:
//class1.h
class class1
{
//autre fonction et attribut
struct rep
{
    int a;
    int b;
}
}

alors SVP dit moi comment declarer une liste dans le .h est comment l'utiliser pour l'ajout des element dans cette liste dans le .cpp
merci .

7 réponses

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Tu ne peux pas intialiser la structure. On peut pas initialiser un type. Il faut nécessairement une variable (de type "rep") (static ou pas) dans ta classe.

Si tu connais pas la notion de "constructeurs", un petit plongeon dans la doc te fera gagner du temps.
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Déclarer un object dans un .h me parait douteux, mais ca reste possible:

.h:

extern std::list<class1>  ma_liste;

dans ton .cpp:

std::list<class1>  ma_liste;

dans n'importe quelle fonction:
ma_liste.push_back(...);

Mais tu pourras pas utiliser ta classe, manque les constructeurs, l'opérateur d'affectation, etc ...
Messages postés
36
Date d'inscription
mercredi 27 décembre 2006
Statut
Membre
Dernière intervention
25 novembre 2010

svp l'initialisation de la liste pour la structure declarer dans la class n'est pas pour la classe
a quoi sa ressemble
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Je comprends rien.
Messages postés
36
Date d'inscription
mercredi 27 décembre 2006
Statut
Membre
Dernière intervention
25 novembre 2010

tu vois la structure rep existante dans la class1.
voila ma question
peut on l'initialiser dans le .cpp de la class1 comme une liste NULL ou vide pour qu'on peut ajouter des éléments au cours de la fonction main???
aide moi SVP n'hésite pas
Messages postés
36
Date d'inscription
mercredi 27 décembre 2006
Statut
Membre
Dernière intervention
25 novembre 2010

pour vous informer luhtor j'ai utiliser cette structure dans plusieur IDE comme le VC6 Code::block wxdevc++ est sa ne marche pas dit moi s'il y a une comfiguration a faire ou truc
Messages postés
36
Date d'inscription
mercredi 27 décembre 2006
Statut
Membre
Dernière intervention
25 novembre 2010

enfin voila la solution ,pour les autres membre qui sont debutant on programmation C
la déclaration d'une structure est en dehors de touts fonction ou classe

#include <list>

using namespace std;
struct structure
{
    membre1;
    membre2;
        :
        :
}
typedef list<structure> liste;

dans une fonction

void fonction ()
{
liste pliste;

pliste.push_back (element);  //pour l'ajout d'un element

//pour le parcours
for (liste::iterator courant=plist.begin(); courant!=plist.end() ; ++courant)
    {
        inst = *it;
        printf(" (%d,%d) ",inst.a,inst.b);
    }
}
 
et pour finir
MERCI infiniment pour CODE SOURCES