Bonjour,
C'est mon tout premier post sur le forum
Je fais un projet qui fait plein de calculs (avec Monte Carlo). J'ai un main.cpp et j'ai mis toutes mes fonctions (déclarations et définitions) dans des headers. ça marche bien, mais c'est nul
=> Je voudrais que les déclarations des fonctions soient dans les header, et les que les définitions soient dans les fichiers cpp.
J'essaye depuis quelques jours de faire ça, mais j'ai beaucoup de problèmes d'inclusions multiples malgré les #ifndef, #def, #endif...
Voici ma configuration initiale (simplifiée) :
- main.cpp
- MonteCarlo.hpp (un header contenant des déclarations et des définitions de fonctions)
- QuasiMonteCarlo.hpp (idem)
- Generation.hpp (idem)
- MonHeader.hpp (idem)
et le main inclut tous les .hpp...
Voici la configuration finale que je voudrais avoir :
- main.cpp
- MonteCarlo.hpp (un header contenant des déclarations de fonctions)
- MonteCarlo.cpp (contient les définitions de fonctions)
- QuasiMonteCarlo.hpp
- QuasiMonteCarlo.cpp
- Generation.hpp
- Generation.cpp
- MonHeader.hpp
- MonHeader.cpp
La fonction MonteCarlo qui est dans MonteCarlo.hpp utilise la fonction Generation qui est dans Generation.hpp et la fonction Maxi qui est dans MonHeader.cpp
De même pour la fonction QuasiMonteCarlo qui est dans QuasiMonteCarlo.hpp.
Qu'est-ce que j'inclus dans main.cpp ? (comme headers)
Qu'est-ce que j'inclus dans MonteCarlo.cpp ? (comme headers)
Qu'est-ce que j'inclus dans QuasiMonteCarlo.cpp ?
Est-ce que je fais des inclusions de header dans des header ?
J'ai lu des choses sur l'inclusion multiple. Donc tous mes header commencent par :
#ifndef DEF_NOMDEMONHEADER
#define DEF_NOMDEMONHEADER
et se terminent par : #endif
Merci pour votre aide !