9
votes

Fonction de membre d'accès d'un autre fichier .CPP dans le même fichier source?

Je travaille dans Visual C ++. J'ai deux fichiers .CPP dans le même fichier source. Comment puis-je accéder à une autre fonction de classe (.cpp) dans cette page principale? CPPP?


2 commentaires

Pourriez-vous s'il vous plaît expliquer pourquoi vous ne voulez pas utiliser un fichier d'en-tête? Cela pourrait être utile pour vous aider avec votre problème.


Je ne pense pas qu'il ait dit qu'il ne veut pas. On dirait qu'il ne sait pas comment à.


3 Réponses :


1
votes

Vous devez mettre les déclarations de fonction dans un .HPP flie, puis #include dans le fichier principal.cpp.

Par exemple, si la fonction que vous appelez est: < / p> xxx

Vous devez créer un fichier foobar.hpp avec ceci: xxx

et ajoutez ce qui suit à tous les fichiers .cpp. cet appel foo : xxx


1 commentaires

Simplement dit, une autre classe.CPP a {-----} et dans MAIN.CPP, voici toutes les possibilités de créer un objet à la classe A dans Main.cpp?



11
votes

Vous devez définir votre classe dans un fichier .h et le mettre en œuvre dans un fichier .CPP. Ensuite, incluez votre fichier .h où vous voulez utiliser votre classe.

Par exemple p>

fichier utile_me.h p> xxx pré>

fichier utile_me.cpp P>

#include "use_me.h"//use_me.h must be in the same directory as main.cpp
    int main(){
       char c = 1;

       Use_me use;
       use.echo(c);

       return 0;

    }


2 commentaires

Sûr que vous pouvez. Copier la déclaration use_me la déclaration de classe et la coller à la place des directives #include dans main.cpp et use_me.cpp . C'est essentiellement ce que #include est de toute façon. Vous seriez stupide de le faire, mais c'est certainement possible de faire.


user_me.h n'est pas nécessaire être dans le même répertoire que main.cpp car vous pouvez l'inclure comme #include



4
votes

sans créer des fichiers d'en-tête. Utilisez le modificateur extern code>.

A.CPP P>

int sum(int a, int b)
{
    return a + b;
}


1 commentaires

Je suis à peu près sûr que les fonctions ont une liaison externe par défaut de toute façon. Vous avez seulement besoin de extern sur les variables.