IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Comment initialiser un conteneur map d'une classe avec le constructeur ?


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juillet 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 27
    Points : 27
    Points
    27
    Par défaut Comment initialiser un conteneur map d'une classe avec le constructeur ?
    Bonjour la communauté,

    Soit une classe qui contient entre autre un class enum et un map :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <map>
     
    class maClasse // classe exemple
    {
        public:
        maClasse();
     
        private:
        enum class typedetruc: unsigned int {truc1, truc2, truc3};
        map<typedetruc, unsigned int> myMap;
    };
    Comment puis-je initialiser ce map avec le constructeur après les ":" et non entre les { } ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    maClasse::maClasse() : /* Que mettre ici pour remplacer ce qui se trouve entre { } ci-après ? */
    {
        myMap[truc1] = 0;
        myMap[truc2] = 1;
        myMap[truc3] = 2;
    }
    Salutations,
    Rick.

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Il faut regarder les constructeurs possibles de std::map, le (5) est le bon.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maClasse::maClasse() : myMap{{truc1,0},{truc2,1},{truc3,2}} {}

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juillet 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 27
    Points : 27
    Points
    27
    Par défaut
    Merci dalfab !

    D'autant plus pertinent que ça répond à d'autres questions que je me posais.
    Rick.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/06/2014, 12h12
  2. Extend d'une classe avec un constructeur privé
    Par aelmalki dans le forum Langage
    Réponses: 5
    Dernier message: 13/03/2010, 11h09
  3. Réponses: 12
    Dernier message: 03/11/2005, 18h45
  4. Réponses: 5
    Dernier message: 26/05/2005, 15h40
  5. [Juridique] Comment réutiliser le code source d'une classe ?
    Par mathieu dans le forum Général Java
    Réponses: 8
    Dernier message: 17/05/2004, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo