*.cpp * .h ??? - C++ - Programmation
Marsh Posté le 03-04-2005 à 16:00:29
heu non pas du tout
les .h contiennent les déclarations de fonctions (C) ou de classe/méthode (C++)
les .c / .cpp contiennent l'implémentation de ce qui a été déclaré dans .h du même nom.
Marsh Posté le 03-04-2005 à 16:07:14
Je peux déclarer toutes mes fonctions seulement .cpp ?
Et donc au final n'avoir que des .cpp! Possible?
Marsh Posté le 03-04-2005 à 16:21:00
La bonne pratique veut que l'on ne fasse que des #include de fichiers .h
Tu mets le minimum nécessaire (ce qui doit etre visible dans le reste du programme) dans le .h
exemple dans foo.h :
Code :
|
et dans foo.cpp :
Code :
|
Dans les autres fichiers du programme ou tu as besoin de ta classe Foo, tu fais juste un #include "foo.h". L'interet c'est que tu n'as pas besoin de regarder comment est fait l'implémentation pour comprendre comment l'utiliser : le prototype de la méthode "bar" déclarée dans le .h et le commentaire associé te suffit.
Marsh Posté le 03-04-2005 à 16:35:41
Hm mouais, lol je ne comprends pas trop ton prog!Trop évolué pour moi !
Alors si j'ai bien compris :
Fichier .h
Code :
|
Et là, c'est ma fonction principal en .cpp
Code :
|
J'ai compris?
Marsh Posté le 03-04-2005 à 16:56:54
non mais c'est mieux
bon alors déjà tu fais du C et pas du C++
somme.h :
Code :
|
somme.c
Code :
|
dans ton fichier avec le main :
Code :
|
Marsh Posté le 03-04-2005 à 17:08:36
Heu, bon, en gros, je peux créer que des .c et pas me prendre la tete avec les .h .....???
SOMME_H ??? veut dire?
A part ça :
Code :
|
Marsh Posté le 03-04-2005 à 17:17:24
Ca permet d'éviter de recompiler n fois la même chose si tu fais n #include "somme.h" dans ton programme.
Sur le pourquoi du comment qu'on utilise un fichier d'header en C, je te recommande la lecture de cette page
http://www.infini-fr.com/Sciences/ [...] first.html
Marsh Posté le 03-04-2005 à 17:25:17
Bon, heu pour me simplifier la tache, je peux pour chaque (lourde)fonction créer un .c ... ??
Et n'avoir que des .c ?
Marsh Posté le 03-04-2005 à 17:57:42
Regroupe tes fonctions qui ont un rapport dans le même module
Je vais pas te forcer à appliquer la norme si tu ne veux pas le faire
Marsh Posté le 03-04-2005 à 15:31:27
Voilà, j'ai fais un programme qui TOURNAIT, il était crée comme suit :
menu.cpp <= Permet d'afficher mon menu principal, et de lancer d'autre fonction, par exemple :fonction1, fonction2 etc..
Pour créer ces autres fonctions, je créeais fonction1.cpp, fonction2.cpp ....
Bref, j'ai appris que ce n'est pas du tout comme ça qu'il faut faire, mais qu'il faut créer sa fonction main, dans "Sources files" donc *.cpp
Et mes autres fonctions dans "Headers files" donc *.h
Est-ce vraiment ça ? Je n'ai pas saisis le principe...
Et si je crée fonction1.h, pourrais-je dans ma fonction1 appeler une autre fonction (fonction2 par ex.) qui elle est aussi un fichier *.h
En gros, si j'ouvre à chaque fois un nouveau fichier pour créer une nouvelle fonction, il doit etre *.h ou *.cpp ???
Le main est un fichier *.cpp et les autres fonctions des fichier *.h c'est ça?
Merci
Message édité par ares9907 le 03-04-2005 à 15:33:01