J'avais lu que l'on pouvait utiliser des fonctions directement dans des structures.
Je cherche donc à faire ceci, car pour une de mes structures, j'ai besoin que cette fonction soit lancé au moment de la création de la structure afin de faire un certain nombres de traitement avant.
Et surtout, si j'ai besoin autre part dans le programme de la même structure, je serais donc sur de retrouver les valeur de bases don j'ai besoin.
Merci d'avance à celui qui pourra m'indiquer comment faire.
Mon site internet : http://www.chrissoftware.fr.nf
en fait la structure en C++ c'est la meme chose qu'une classe, a part que les membre sont public par defaut et que les fonction virtuel n'existe pas.
Va voir le cour de mateo...
Merci de ton aide Youyou.
Lmghs, je vois pas le rapport, j'ai pas demandé la diff mais comment faire pour les struct avec une fonction dedans, la FAQ C++ de developpez.com ne donne pas l'info je suis allé voir.
EDIT: Question Youyou, il vaut mieux que mes structures soient au format C++(par exemple avec les types string) ou format C(type char* plutôt que string) ?
Mon site internet : http://www.chrissoftware.fr.nf
Chlab_lak,
La FAQ C++ de developpez.com ne parle pas des structures mais des classes.
Et l'utilisation n'est pas la même car dans les classes, soit tu met toute ta fonction dans la déclaration de la classe, soit tu y met juste le prototype, et tu déclares ta fonction de manière externe en mettant le nom de la classe suivant de deux deux-points(:) avant le nom de ta fonction.
Hors cette dernière ne fonctionne pas pour les structures, c'est pourquoi j'étais venu demandé
Pour les histoires de string, je suis en C++ donc j'utilise plutôt les string que les char*, maintenant la question était plutôt par rapport au fait que mon code sera librement accessible et donc une personne peut vouloir reprendre une ou plusieurs de mes structures dans son propre programme mais en C et non en C++.
Et par rapport à cela, je me demandais juste si il valait mieux dans ce cas là que mes structures soient directement compatible avec le C ou laissez la personne devoir faire la modification dans la structure(c'est surtous qu'une personne connaissant pas du tous le C++, aurait du mal à faire cela).
Ou alors il y a peut être la possibilité de dire si c'est du C++ alors tu utilises telle structure, sinon si c'est du C tu utilises une autre, dans ce cas là, je peux l'écrire en double afin qu'il y ai la compatibilité.
Mon soucis est donc par rapport à cette question, de permettre le moins de modification possible de l'header pour ceux voulant reprendre mon projet ou une partie
Mon site internet : http://www.chrissoftware.fr.nf
Chlab_lak,
La FAQ C++ de developpez.com ne parle pas des structures mais des classes.
Et l'utilisation n'est pas la même car dans les classes, soit tu met toute ta fonction dans la déclaration de la classe, soit tu y met juste le prototype, et tu déclares ta fonction de manière externe en mettant le nom de la classe suivant de deux deux-points(:) avant le nom de ta fonction.
Si, si, ça marche.
Hors cette dernière ne fonctionne pas pour les structures, c'est pourquoi j'étais venu demandé
Citation : Jérémie Belpois
Pour les histoires de string, je suis en C++ donc j'utilise plutôt les string que les char*, maintenant la question était plutôt par rapport au fait que mon code sera librement accessible et donc une personne peut vouloir reprendre une ou plusieurs de mes structures dans son propre programme mais en C et non en C++.
sauf que si tu mets une fonction dans une structure, il ne pourra plus l'utiliser en C, car ce concept n'existe pas dans ce langage.
</citation>
Et par rapport à cela, je me demandais juste si il valait mieux dans ce cas là que mes structures soient directement compatible avec le C ou laissez la personne devoir faire la modification dans la structure(c'est surtous qu'une personne connaissant pas du tous le C++, aurait du mal à faire cela).
Ou alors il y a peut être la possibilité de dire si c'est du C++ alors tu utilises telle structure, sinon si c'est du C tu utilises une autre, dans ce cas là, je peux l'écrire en double afin qu'il y ai la compatibilité.</citation>
Dans ce cas, alors faut tout écrire en C. Puisque tout ce qui est en C est utilisable en C++ et que le contraire est faux.
Autrement dit tout ce qui parle des class, parle des struct.
Citation : Jérémie Belpois
Pour les histoires de string, je suis en C++ donc j'utilise plutôt les string que les char*, maintenant la question était plutôt par rapport au fait que mon code sera librement accessible et donc une personne peut vouloir reprendre une ou plusieurs de mes structures dans son propre programme mais en C et non en C++.
Cela demande d'isoler et définir des zones d'interface qui permettent de communiquer entre les deux langages. C'est possible, mais il y a des règles à respecter. Personnellement, je considère que c'est s'enquiquiner pour rien.
Dans un premier temps, je te dirai d'ignorer le C.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.