begin process at 2012 05 29 00:49:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

comment inclure un conteneur dans une classe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment inclure un conteneur dans une classe

dimanche 31 juillet 2005 à 23:46:27 | comment inclure un conteneur dans une classe

kharrat

Salut,

Je cherche désespérément à créer une classe qui a un conteneur map pour faire un carnet d'adresse (je m'amuse comme je peux...) en C++.
Le compilateur me dit que le map n'est pas un type de base pour ma classe.

Je n'ai encore jamais rencontré d'exemple de classe qui a un conteneur et je commence à me demander si la chose est possible.

1. Est-il possible de déclarer un conteneur comme membre d'une classe ?
2. Si oui, comment procéder en C++ ?
3. La chose est-elle possible dans un autre langage que C++ (C#, Java...)

Merci
lundi 1 août 2005 à 08:44:37 | Re : comment inclure un conteneur dans une classe

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Un conteneur c'est comme n'importe quelle classe, rien de spécial à faire. Il faut juste inclure , et bien sur ne pas oublier d'utiliser std: #include using namespace std; class usingMap { map m; };
lundi 1 août 2005 à 08:53:09 | Re : comment inclure un conteneur dans une classe

xterminhate

Membre Club
Réponse acceptée !
Pour plus d'info sur la STL et les conteneurs std de C++ :

http://www.sgi.com/tech/stl/


Cordialement,
Xterminhate.
lundi 1 août 2005 à 12:49:43 | Re : comment inclure un conteneur dans une classe

kharrat

Salut,

Merci d'avoir répondu à mon message !

J'y vois un peu plus clair : le compilateur renvoyait une erreur, non pas sur la déclaration du map, mais sur la déclaration d'un itérateur, comme suit :

#include "FichePerso.h"
#include <map>
using namespace std ;

class Carnet
{
      map <string, FichePerso> carnet ;
      map <string, FichePerso> ::im ;      // erreur de compilation
     
      public :
             Carnet () ;
             Carnet (const Carnet &) ;
             ~Carnet () ;
} ;

Eventuellement, je suis preneur si quelqu'un peu m'expliquer : pourquoi l'itérateur ne peux pas être déclaré comme membre de la classe ? (même si celà me semble assez logique, malgré tout).

@++ et encore merci pour vos tuyaux

lundi 1 août 2005 à 13:00:02 | Re : comment inclure un conteneur dans une classe

xterminhate

Membre Club
Réponse acceptée !
le type exact de ton itérateur est le suivant :

map<string,FichePerso>::iterator im;

ou

map<string,FichePerso>::const_iterator im;

Je t'invite à regarder de plus pres ce qu'est un opérateur de resolution de portée (ie, ':').

Cordialement,
Xterminhate.
lundi 1 août 2005 à 13:05:54 | Re : comment inclure un conteneur dans une classe

kharrat

invitation acceptée !

merci pour votre aide,
kharrat
lundi 1 août 2005 à 19:30:17 | Re : comment inclure un conteneur dans une classe

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
l'opérateur de resolution de portée n'est pas : mais :: map::iterator signifie en fait que iterator est une classe déclarée à l'intérieur de map
lundi 1 août 2005 à 20:04:23 | Re : comment inclure un conteneur dans une classe

xterminhate

Membre Club
Réponse acceptée !
Le lecteur aura corrigé de lui même, mais merci de préciser au cas où. Attention, cet opérateur ne se limite pas au cas particulier que tu mentionnes (il s'applique au namespace, aux blocs, à l'encapsulation, etc...).

Cordialement,
Xterminhate.


Cette discussion est classée dans : possible, classe, conteneur, map, inclure


Répondre à ce message

Sujets en rapport avec ce message

Récupérer un évènement [ par darsh99 ] Bonjour,voilà j'ai créé une classe qui n'est dérivée de rien du tout, est-il possible de lui faire récupérer un évènement ?L'évènement étant généré pa Trier une std::map [ par simtiers ] Salut ! voilà, j'ai une classe CPlayer avec une surcharge de l'operateur bool CPlayer::operator {     if( posY getPosY() ) class et fichier [ par lilington ] salut j'ai 2 questions: 1- est il possible de stocker une classe dans un fichier comme on ferai pour une structure? par exemple si je fais un carnet d classe et constructeur [ par iam_myst ] Bonjour a tous je vais essayer de me faire comprendre sans les codes si ce n'est pas possible je les posterais :) en fait j'ai un problème pour les Problème classe [ par krokro6 ] Bonjour, voici mon problème: J'ai deux classe, une classe A et une classe B: class A { public : A(); virtual ~A(); int Pos juste une question [ par lespleiades ] salut tt le monde^^, bon en fait j'ai une question qui me trotte dans la tete depuis plusieurs jours (je ne connais pas le C++ et je n'ai aucuns proje Fonction + Ajout dans la fonction d'une classe hérité [ par christophedlr ] Bonjour à tous,Le titre n'est peut être pas très explicite, je vous explique.Mettons que nous avons deux classes : A et B.B hérite de A.Je voudrais sa Aide avec les template: comment implémenter élégamment une propriété avec getter/setter en C++? [ par Forman ] Bonjour à tous,je n'ai pas commencé le C++ depuis très longtemps donc désolé si ma question parait trop naïve. J'ai cherché à de nombreux endroits une copier map dans un fichier [ par fatenbenhamadi ] bonjour, j'ai une map avec une clé qui est une classe "personne" et puis un attribut qui est l'email map la classe personne contient un nom, prenom e remplir une map [ par vecchio56 ] Bonjour a tous Je dois remplir une map au debut de mon programme et je voudrais le faire le plus rapidement possible. Je pense que si je le fais de ma


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,404 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales