Je suis récemment passé de Java pour C++ mais maintenant quand j'écris mon application, je ne suis pas intéressé à écrire tout le code dans la fonction principale, je veux que la fonction principale appelle une autre fonction mais ceci l'autre fonction se trouve dans un autre fichier .cpp.
Permettez-moi de mieux vous expliquer si vous ne comprenez pas:
J'ai un fichier: main.cpp
À l'intérieur j'ai la fonction principale.
J'ai le deuxième fichier: second.cpp
À l'intérieur J'ai une fonction appelée second()
Je veux appeler cette fonction appelée second()
depuis ma fonction principale ..
De l'aide?
Vous devez utiliser un outil appelé "en-tête". Dans un en-tête, vous déclarez la fonction que vous souhaitez utiliser. Ensuite, vous l'incluez dans les deux fichiers. Un en-tête est un fichier séparé inclus à l'aide du #include
directive. Ensuite, vous pouvez appeler l'autre fonction.
void MyFunc();
#include "other.h"
int main() {
MyFunc();
}
#include "other.h"
#include <iostream>
void MyFunc() {
std::cout << "Ohai from another .cpp file!";
std::cin.get();
}
Vous devez avoir des fichiers d'en-tête (.h) qui contiennent la déclaration de la fonction, puis un fichier .cpp correspondant qui contient la définition. Vous incluez ensuite le fichier d'en-tête partout où vous en avez besoin. Notez que le fichier .cpp qui contient les définitions doit également inclure (c'est le fichier d'en-tête correspondant).
// main.cpp
#include "second.h"
int main () {
secondFunction();
}
// second.h
void secondFunction();
// second.cpp
#include "second.h"
void secondFunction() {
// do stuff
}
En C/C++, vous avez des fichiers d'en-tête (* .H). Là, vous déclarez vos fonctions/classes. Ainsi, par exemple, vous devrez #include "second.h"
Dans votre fichier main.cpp
.
Dans second.h
Vous déclarez simplement comme ceci void yourFunction();
Dans second.cpp
Vous l'implémentez comme
void yourFunction() {
doSomethng();
}
N'oubliez pas de #include "second.h"
Également au début de second.cpp
J'espère que cela t'aides:)
Vous pouvez simplement placer une déclaration directe de votre fonction second()
dans votre main.cpp
Au-dessus de main()
. Si votre second.cpp
A plus d'une fonction et que vous voulez tout dans main()
, mettez toutes les déclarations avant de vos fonctions dans second.cpp
Dans un fichier d'en-tête et #include
Dans main.cpp
.
Comme ça-
Second.h:
void second();
int third();
double fourth();
main.cpp:
#include <iostream>
#include "second.h"
int main()
{
//.....
return 0;
}
second.cpp:
void second()
{
//...
}
int third()
{
//...
return foo;
}
double fourth()
{
//...
return f;
}
Notez que: il n'est pas nécessaire de #include "second.h"
Dans second.cpp
. Tout ce dont votre compilateur a besoin, c'est de déclarations avancées et votre éditeur de liens fera le travail de recherche des définitions de ces déclarations dans les autres fichiers.