begin process at 2012 05 30 10:32:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Utilisation d'une fonction d'une fonction membre d'une classe


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

Utilisation d'une fonction d'une fonction membre d'une classe

samedi 29 avril 2006 à 11:58:36 | Utilisation d'une fonction d'une fonction membre d'une classe

guydegnol

Bonjour,

J'aimerais utiliser une fonction ayant comme argument une fonction membre d'une classe.
Vous pouvez trouver un exemple tres simple de ce que je veux faire a la fin du message.
J'arrive a faire fonctionner mon code si je passe comme argument de fonction, une fonction non-membre de ma classe.
Je pense que je dois rater quelque chose et je serais tres heureux si quelqu'un pouvait m'aider.

Merci

#include <iostream>
 
class SimpleClass {
  float x0_;
  public :
   SimpleClass();
   virtual ~SimpleClass(){};
   float f(float x){return x+x0_;};
   float F(float (*func)(float), float a, float b);
};

float g(float x){return x+1;};

SimpleClass::SimpleClass() : x0_(1) {
  float (*func) (float);
  //func = f;// ne compile pas
  func = g; // compile et fonctionne correctement
  std::cout<<F(func,2,4)<<"\n";
}

float SimpleClass::F(float (*func)(float), float a, float b){
  return (*func)(a)+(*func)(b);
}

int main (){
 SimpleClass ab;
 return 0;
}

samedi 29 avril 2006 à 12:49:04 | Re : Utilisation d'une fonction d'une fonction membre d'une classe

luhtor

Réponse acceptée !
c'est simple. Tu peux pas.
Seul les fonctions non membres ou les fonctions statiques peuvent utilisées pour ce que tu veux.
samedi 29 avril 2006 à 13:03:48 | Re : Utilisation d'une fonction d'une fonction membre d'une classe

guydegnol

Merci Luthor de ta reponse extrement claire.
Aurais-tu une suggestion pour une solution pour passer en argument une fonction qui depend de beaucoup de membres d'une classe ?


samedi 29 avril 2006 à 13:07:43 | Re : Utilisation d'une fonction d'une fonction membre d'une classe

luhtor

Il y a surement moyen, mais ca dépend ce que tu veux faire exactement. Explique le pb précisément :)


samedi 29 avril 2006 à 13:16:12 | Re : Utilisation d'une fonction d'une fonction membre d'une classe

luhtor

Pour feinter, mais je sais pas si ca va t'aller:

static float SimpleClass::ta_fonction( (const ou pas ? ) SimpleClass & _obj, float _x);

Définie ainsi, en passant l'objet en argument. Ca marchera bien.
Du coup, il faut aussi changer la définition de F.


samedi 29 avril 2006 à 13:16:16 | Re : Utilisation d'une fonction d'une fonction membre d'une classe

guydegnol

OK,


je suis en train de construire une fonction mathematique basee sur une cinquantaine de parametres que j'ai implemente dans une classe.
Ensuite, je veux prendre cette fonction et l'integrer numeriquement.
Pour ca, je souhaitais utiliser une methode numerique standard (celle de Gauss-Legendre)
 pour integrer cette fonction.
Cette fonction de Gauss prend comme argument la fonction que je veux integrer.

Voila, merci de ton aide.


samedi 29 avril 2006 à 13:27:10 | Re : Utilisation d'une fonction d'une fonction membre d'une classe

guydegnol

Je vais essayer de feinter.
En tout cas, merci pour ton aide Luthor.

A+

Guillaume


Cette discussion est classée dans : fonction, membre, float, func, simpleclass


Répondre à ce message

Sujets en rapport avec ce message

Pas compris les arguments [ par Bog ] Bonjour.Voila à chaque fois que je me lance dans un projet de programmation C++, je suis tjrs bloqué par certaines choses, surtout les arguments, et c Pas compris les arguments [ par Bog ] Bonjour.Voila à chaque fois que je me lance dans un projet de programmation C++, je suis tjrs bloqué par certaines choses, surtout les arguments, et c variable membre non static dans une fonction membre static [ par adrod ] J'ai une erreur du compilateur: Error C2597. Je suis allé sur msdn pour avoir plus de précision et ils me disent:To access the nonstatic member, you m CallBack dans fonction membre [ par Matt67 ] Bonjour, Je desir mettre une callback (waveInProc) dans une classe en tant que fonction membre...Comment puis-je m'y prendre, un petit exemple serait fonction et matrice [ par herve_blondel ] bonjour a tous.je suis un debutant en C++ et j'aimerais ecrire un fonction qui prend en argument une matrice et me retourne une matrice(je sais ce que pourquoi ca marche pas :'( [ par xboxut ] salut j ai un probleme avec une fonction pour initialiser des particules,pouvez vous me dire pourquoi il ne marche pas et comment le faire marcher#inc tableau a 2 dim [ par Kevin972 ] salut a tous!!g un probleme pour passer en parametre un tableau a 2 dimensions:fonction1(void){ float tab[400][400];............ fonction(tab);}fo 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 Accèder à un objet depuis Fonction membre de callback statique [ par Jeffray ] Bonjour,J'ai une fonction membre statique de callback, qui correspond à une classe de fenêtre que j'enregistre.Comment faire pour transmettre à cette Help, DevC++ fonction retournant un float, résultat très étrange... [ par yom007 ] Bonjour,   je travaille sous devC++ et là c'est l'incompréhension, peut-etre qu'une ame charitable pourra venir à mon secours...J'ai reussi à isoler m


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,421 sec (4)

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