[newbie] Pointeur sur fonction membre sans connaître sa classe
2 réponses
TSalm
Bonjour,
Est-il possible de créer des fonctions prenant en paramétre un
pointeur sur une fonction membre sans connaître la classe de cette
fonction membre ?
Evidemment, la signature de la fonction membre pointée reste la même.
Ici la fonction apply peut s'appliquer a n'importe quelle classe.
-- Nicolas
"TSalm" wrote in message news:
Bonjour,
Est-il possible de créer des fonctions prenant en paramétre un pointeur sur une fonction membre sans connaître la classe de cette fonction membre ? Evidemment, la signature de la fonction membre pointée reste la même.
D'avance merci, TSalm
En utilisant une fonction template c'est possible. Voici un petit exemple:
#include <iostream>
#include <string>
using namespace std;
class A
{
public:
size_t f(const string& s ) { return s.size(); }
};
Ici la fonction apply peut s'appliquer a n'importe quelle classe.
--
Nicolas
"TSalm" <tsalm@free.fr> wrote in message
news:cr1ab31nummgen19gjupmsfupnceuk1n63@4ax.com...
Bonjour,
Est-il possible de créer des fonctions prenant en paramétre un
pointeur sur une fonction membre sans connaître la classe de cette
fonction membre ?
Evidemment, la signature de la fonction membre pointée reste la même.
Ici la fonction apply peut s'appliquer a n'importe quelle classe.
-- Nicolas
"TSalm" wrote in message news:
Bonjour,
Est-il possible de créer des fonctions prenant en paramétre un pointeur sur une fonction membre sans connaître la classe de cette fonction membre ? Evidemment, la signature de la fonction membre pointée reste la même.
D'avance merci, TSalm
TSalm
Il faut vraiment que je me mettes aux templates. Merci
Le Sat, 04 Aug 2007 23:25:19 GMT, "Nicolas Deslandes"
En utilisant une fonction template c'est possible. Voici un petit exemple:
#include <iostream> #include <string>
using namespace std;
class A { public: size_t f(const string& s ) { return s.size(); } };