Salut,
J'ai (peut etre tr�s mal) cherch� tant sur le net que sur le forum, mais je j'ai pas trouv� r�ellement la r�ponse que je cherche...Je me permet donc de vous la poser ici:
Je cherche � comprendre le m�canisme d'impl�mentation du callback d'une m�thode de classe.
Par exemple, une classe toute simple du genre de
Pour ce que j'en ai compris, il faut commencer par d�clarer une variable qui contienne un pointeur de fonction.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 class MaClass { private: //some members public: void Mafonct(int a, int b); }
En travaillant proprement, on utiliserait le typedef sous la forme de
(les noms �tant surtout choisis pour la compr�hension)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 typedef void(*ptr2int) (int, int); ptr2int MonPtrFonction;
Le deuxi�me travail est de cr�er une fonction qui appelle la fonction point�e
(d�j�, l�, j'ai un doute sur les arguments � passer � CallBack2int
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 void CallBack2int(ptr2int ptr) { ptr(); }![]()
)
Voil�, en gros, ce que j'ai compris (si j'ai fait une erreur quelque part, merci de me le signaler)
Les questions qui tuent: En allant du plus simple au plus compliqu�:
Q1- Comment impl�menter les choses pour qu'un appel du genre de
appelle la m�thode Mafonct de ma classe ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 main { //... CallBack2int(MonPtrFonction); }
Q2- Comment impl�menter CallBack2int et MonPtrFonction pour qu'ils soient respectivement m�thode et membre de MaClasse (qu'un appel � CallBack2int se fasse sous la forme de MonObjet->CallBack2int() ou MonObjet.CallBack2int () selon les circonstance)?
Y a-t-il des points auxquels il faut etre attentif? (membres et/ou m�thodes statiques, par exemple)
Q3- CallBack2int peut il etre m�thode virtuelle pure dans un but polymorphique?
Je vous remercie d'avance![]()
Partager