cs_kharrat
Messages postés71Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention29 mars 2007
-
31 juil. 2005 à 23:46
xterminhate
Messages postés371Date d'inscriptiondimanche 4 janvier 2004StatutMembreDernière intervention23 septembre 2009
-
1 août 2005 à 20:04
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...)
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 1 août 2005 à 19:30
l'opérateur de resolution de portée n'est pas : mais ::
map<string,FichePerso>::iterator signifie en fait que iterator est une classe déclarée à l'intérieur de map
Vous n’avez pas trouvé la réponse que vous recherchez ?
xterminhate
Messages postés371Date d'inscriptiondimanche 4 janvier 2004StatutMembreDernière intervention23 septembre 2009 1 août 2005 à 20:04
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...).
cs_kharrat
Messages postés71Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention29 mars 2007 1 août 2005 à 12:49
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
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).