Mettre une map en attribut privé d'une classe

Résolu
xkill2005 Messages postés 20 Date d'inscription lundi 14 décembre 2020 Statut Membre Dernière intervention 19 février 2021 - Modifié le 29 déc. 2020 à 21:52
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 29 déc. 2020 à 18:56
Bonjour est t'il possible de mettre une map dans une classe en private ?


#include <iostream>
#include <string>
#include <windows.h>
#include <map>

using namespace std;

class alphabet
{
public:

private:

    map<string, int> ressource_alphabet;             //string et int 
    ressource_alphabet["a"] = 0;                             //problème "a"  demande un int ?
    ressource_alphabet["b"] = 1;
    //etc...
};
A voir également:

1 réponse

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 11
29 déc. 2020 à 18:56
Bonjour,

Est-ce que l'on peut mettre une map en private? Oui.
Par contre on ne peut pas écrire du code ailleurs que dans une fonction.
Une map peut s'initialiser.
class alphabet {
private:
    std::map<std::string, int> ressource_alphabet{{"a",0},{"b",1},.......};       
};

Mais il y peut être plus simple si le but est d'associer un caractère à un nombre qui indique sa position dans l'alphabet.
int alphabet(char c) { return c - 'a'; }
0
Rejoignez-nous