begin process at 2012 05 29 13:44:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

pointeur de fonction membre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pointeur de fonction membre

mercredi 10 juin 2009 à 17:34:12 | pointeur de fonction membre

maximus4

bonjour a tous,

je voudrai savoir comment on passe en paramètre d'une fonction membre une autre fonction membre d'une autre class déjà instanciée

ex:
class A
{
  private:
    int varA=12;

  public:
    int fonctionA
    {
      return varA;
    }
};
class B
{
  void fonctionB(void(A::*fonc))
  {
   cout<<fonc()<<endl;
  }
}
int main(int argc,char** argv)
{
  A *a = new A();
  B *b= new B()

  b.fonctionB(&a.fonctionA)
}

je ne sais pas si je suis bien claire
merci d'avance,

mercredi 10 juin 2009 à 21:19:30 | Re : pointeur de fonction membre

juju12

Réponse acceptée !
Il faut spécifier l'instance de classe au moment de l'appel de la fonction, et pas en initialisation du pointeur.

class A
{
  private:
   int varA;

  public:
    int fonctionA(void)
    {
      return varA;
    }
};

typedef int(A::* pfa)(void);


class B
{
public:
  void fonctionB(pfa fonc,A*a)
  {
   cout<<(a->*fonc)()<<endl;
  }
};


int main(int argc,char** argv)
{
  A *a = new A();
  B *b= new B();

  b->fonctionB(&A::fonctionA,a);
  return 0;
}
jeudi 11 juin 2009 à 09:10:38 | Re : pointeur de fonction membre

maximus4

C'est parfait ça fonctionne
Merci beaucoup !


Cette discussion est classée dans : fonction, int, class, pointeur, membre


Répondre à ce message

Sujets en rapport avec ce message

Pb de class [ par SfyLer ] Imaginons :class teste{public:void fonction();void fonction2();};int teste::fonction() {int a = 1;return 0;}int teste::fonction2() {//ici j'aimerais r pointeur de fonction [ par Larwin ] salut tout le mondebon j'suis un gros débutant c/c++ et je fais mes premiers pas depuis 2, 3 jours...j'ai deja un petit probleme :)je m'explique :j'ai Pointeur vers une fonction dans une classe ... [ par MoDDiB ] Supposons que j'ai la fonctionvoid Fonction(int test,int t);appartenant a la classe Cclass.Quelle est la syntaxe pour creer un pointeur vers cette fon adresse d'une fonction membre d'une classe [ par gagah1 ] Salut à tous!Je voudrais avoir l'adresse mémoire d'une fonction membre d'une classe, alors que l'ISO C++ l'interdire l'accès.Je m'explique:J'ai une c (__cdecl *) => kesako? [ par Oeil_de_taupe ] Bonjour tout le monde, J'ai créé deux classes qui représentent un protocole pour envoyer des données entre deux PC. Lors de l'appele de leur construc convertir pointeur int* en reference int& ??? je fais quoi ? [ par equimose ] j'ai une fonction qui prend comme parametre une CMyLigne & ABet j'ai besoin d'envoyer a cette fonction un pointeur sur une CMyLigne * pLigne !c'est po Pointeur sur fonction ? [ par tintin72 ] Bonjour, J'ai un petit souci avec les pointeurs sur fonction. Voilà, j'ai une fonction qui prend comme argument un pointeur sur fonction: void maFonct pointeur sur une fonction [ par pasty ] Bonjour,J'appelle une fonction f(int *,int *,int) dont le code  est dans un DLL depuis le programme principal main.cpp Je déclare la fonction dans m Fonction membre vers pointer non typé [ par foxz ] Est-il possible de convertir une fonction membre (d'une class) vers un pointer non typé(void*)class A{ int foo(int,int){};void init(){  void *t;  A *x [C] incompatibilité dans une fonction [ par The_KniGhT_972 ] Bonjour, dans mon code C, j'ai un tableau de int a deux dimensions noté comme suit int tab[nbs][dmax]; et une fonction qui prend en paramètre un tab


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales