guydegnol
Messages postés5Date d'inscriptionmercredi 15 février 2006StatutMembreDernière intervention29 avril 2006
-
29 avril 2006 à 11:58
guydegnol
Messages postés5Date d'inscriptionmercredi 15 février 2006StatutMembreDernière intervention29 avril 2006
-
29 avril 2006 à 13:27
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
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);
}
guydegnol
Messages postés5Date d'inscriptionmercredi 15 février 2006StatutMembreDernière intervention29 avril 2006 29 avril 2006 à 13:03
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 ?
guydegnol
Messages postés5Date d'inscriptionmercredi 15 février 2006StatutMembreDernière intervention29 avril 2006 29 avril 2006 à 13:16
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.