J'ai trouver dans la FAQ une maniere de tester une chaine de caracteres celon plusieurs critères :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// fonctions de traitement
void parametre_input();
void parametre_output();
void parametre_inconnu();
 
// type pointeur de fonction de traitement
typedef void (*parametre_fct)();
 
void analyse_parametre( const string & Param )
{
    static map<string, parametre_fct> param_map;
 
    // initialiser la map si ce n'est pas fait
    if ( param_map.empty() )
    {
        param_map[ "/input" ] = parametre_input;
        param_map[ "/output" ] = parametre_output;
    }
 
    // rechercher la fonction associée à Param
    map<string, parametre_fct>::const_iterator i = param_map.find( Param );
    if ( i == param_map.end() )
    {
        // échec
        parametre_inconnu();
    }
    else
    {
        // appeler la fonction associée
        (i->second)();
    }
}
Je souhaiterai implanter sa dans une classe et au lieu d'appellé une fonction appellé une méthode de cette même classe la partie à modifier serai donc celle-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
// rechercher la fonction associée à Param
    map<string, parametre_fct>::const_iterator i = param_map.find( Param );
    if ( i == param_map.end() )
    {
        // échec
        parametre_inconnu();
    }
    else
    {
        // appeler la fonction associée
        (i->second)();
    }
Mais je n'ai aucune idée de comment procéder.

Merci