Bonjour,
J'ai peut être mal cherché mais je n'ai pas trouvé de réponse à ma question :
Est ce que l'on peut mettre dans une structure un pointeur de fonction ?
Si oui comment faire car je n'y arrive pas.....
Merci d'avance.
Bonjour,
J'ai peut être mal cherché mais je n'ai pas trouvé de réponse à ma question :
Est ce que l'on peut mettre dans une structure un pointeur de fonction ?
Si oui comment faire car je n'y arrive pas.....
Merci d'avance.
Bien sûr.Est ce que l'on peut mettre dans une structure un pointeur de fonction ?
Par exemple, avec plusieurs options de définition :
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 typedef double fonc(double); typedef double (*pfonc)(double); struct s { double (*pf1)(double); fonc * pf2; pfonc pf3; } x; .... x.pf1= sin; x.pf2= sin; x.pf3= sin; y = x.pf1(3.1416/4); z = x.pf2(3.1416/4); t = x.pf3(3.1416/4);
C'est même ainsi que l'on fait de la programmation orientée objet en C "pur", d'ailleurs.
Le plus gros problème consiste à ne pas caster n'importe quelle fonction vers n'importe quel type fonctionnel, ce qui bien sûr conduit habituellement au casse-pipe.
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Re-bonjour,
bon j'y suis arrivé...
voici le code
en fait j'essayais de définir le pointeur dans la structure ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 struct MaClassC { int champ1; int champ3; int champ2; int (*division2) (int a, int b); };
est ce que l'on peut avoir une approche "orienté objet" grace au structure ?
merci d'avance
ok je vois que l'on a déjà répondu à ma question pendant que je rédigeais la suite. donc merci !!!
donc pour finir,
structure <=> class
et les unions ont quelles utilités dans une vue orienté objet ?
merci
Oui, mais bon, c'est un très gros raccourci quand même. C'est une approche OO, mais ce n'est pas de l'objet malgré tout.
Polymorphisme principalement, même si c'est plutôt dangereux en C. Mais cela reste possible malgré tout, la seule difficulté réelle étant la notion d'héritage qui est difficile à réaliser en C "pur" (la composition, par contre, ne pose bien entendu aucun problème).
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Heu non, c'est assez simple en fait, on en a discuter il n'y a pas si longtemps d'ailleurs : http://www.developpez.net/forums/d82.../c/heritage-c/.
Cordialement.
Comme je le précisais dans ce post sur ladite discussion, on peut vite trouver les ennuis avec l'héritage en C (suppression de méthodes/attributs notamment, alignement, etc.). De plus, l'héritage se fait manuellement à 100% et non pas automatiquement, ce qui complexifie encore la notion (ou qui fait bouffer de la macro à outrance).
N'oublie pas que là, on s'adresse à un débutant qui en est aux prémices de l'OO en C, cf. premier post.
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Partager