Bonjour,
J'essaie de programmer une fonction qui prend en argument une autre fonction (réelle par exemple), et je n'arrive pas à voir comment faire pour utiliser ma fonction dans le main:
Je définis un type Fonction d'abord:
Je déclare une classe Inverse (disposant d'une méthode inverser permettant de calculer l'inverse d'une fonction à partir d'une fonction donnée en argument):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 typedef double (* Fonction)(double);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class Inverse{ public: double Inverser ( Fonction f, double t); };
Puis ensuite je déclare une fonction réelle, par exemple
Ensuite dans le main, j'écris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 double f(double s) { return -log(s)/s; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 int main(){ Inverse R; double Res; Res= R.Inverser(&f, 2.0); cout << Res<< endl; system("PAUSE"); return 0; }
Je pense que le problème vient surement de l'utilisation des pointeurs mais je ne sais pas ce qu'il faut faire, si vous savez ce qu'il faut faire, je suis preneur.
Merci bcp.
Partager