Je travaille dans Visual C++. J'ai deux fichiers .cpp dans le même fichier source. Comment puis-je accéder à une autre classe (.cpp) dans ce fichier .cpp principal?Accéder à la fonction membre d'un autre fichier .cpp dans le même fichier source?
Répondre
Vous devez définir votre classe dans un fichier .h, et implémentez-le dans un fichier .cpp. Ensuite, incluez votre fichier .h où vous voulez utiliser votre classe.
Par exemple
fichieruse_me.h
#include <iostream>
class Use_me{
public: void echo(char c);
};
fichier
use_me.cpp
#include "use_me.h" //use_me.h must be placed in the same directory as use_me.cpp
void Use_me::echo(char c){std::cout<<c<<std::endl;}
main.cpp
#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;
}
Tom, puis-je accéder à la fonction use_me sans créer de fichier d'en-tête ... – Rajakumar
Bien sûr, vous pouvez. Copiez la déclaration de la classe 'Use_me' et collez-la à la place des directives' # include 'dans * main.cpp * et * use_me.cpp *. C'est essentiellement ce que '# include 'fait de toute façon. Vous seriez stupide de faire cela, mais c'est certainement possible. –
'use_me.h' n'est pas nécessaire étant dans le même répertoire que' main.cpp' puisque vous pouvez l'inclure comme '#include
Vous devez placer les déclarations de fonction dans un fichier .hpp, puis #include
dans le fichier main.cpp.
Par exemple, si la fonction que vous appelez est:
int foo(int bar)
{
return bar/2;
}
vous devez créer un fichier foobar.hpp avec ceci:
int foo(int bar);
et ajoutez ce qui suit à tous Cpp fichiers qui appellent foo
:
#include "foobar.hpp"
sans créer de fichiers d'en-tête. Utilisez le modificateur extern
.
a.cpp
extern int sum (int a, int b);
int main()
{
int z = sum (2, 3);
return 0;
}
b.cpp
int sum(int a, int b)
{
return a + b;
}
Je suis assez sûr que les fonctions ont un lien externe par défaut de toute façon . Vous avez seulement besoin d'extern sur les variables. –
- 1. Comment compiler un fichier source .cpp dans un fichier .dll?
- 2. compiler rapidement le fichier cpp
- 3. Génération d'un fichier .cpp
- 4. Comment définir une fonction avec le même nom qui est présent dans un fichier différent
- 5. Accéder à un membre de RootViewController dans une autre classe
- 6. Impossible d'enregistrer le fichier avec le format .cpp insted de format .cpp.9.0 dans VCExpress
- 7. Référence non définie dans le même fichier
- 8. Accéder aux MovieClips dans un fichier à partir d'un autre fichier SWF
- 9. Extraction de fonctions à partir d'un fichier CPP
- 10. Fichier d'en-tête sans fichier source
- 11. Erreur non définie lors de l'appel de la fonction d'un autre fichier source js
- 12. Accéder au modèle de colonne de la grille ExtJS à partir d'un autre fichier
- 13. apache/php crée le fichier, mais la même page n'est pas autorisée à éditer le fichier
- 14. Javascript: Puis-je accéder à la source du fichier qui est chargé dans l'iframe caché
- 15. Comment utiliser la fonction splice() de Linux pour copier un fichier dans un autre fichier?
- 16. Mon code de fonction doit-il être divisé en un autre fichier source?
- 17. C++: comment une fonction membre statique publique peut-elle accéder à des variables de membre d'instance privée?
- 18. Python, trouver un fichier dans le même répertoire
- 19. PHP Aucun retour d'une fonction dans un autre fichier
- 20. Laisser plusieurs assemblées accéder au même fichier texte
- 21. Comment mettre un point d'arrêt dans chaque fonction du fichier .cpp?
- 22. Copie efficace d'un fichier à un autre
- 23. Accéder au fichier msi depuis le fichier msi
- 24. Colon et $ dans le fichier makefile
- 25. fonction NVL() dans le fichier php
- 26. Rails SequencedHash source fichier
- 27. F # définir/utiliser un type/module dans un autre fichier dans le même projet
- 28. Accéder à la source de la page complète dans WatiN
- 29. Comment accéder aux objets de formulaire à partir d'un autre fichier cs en C#
- 30. Empêcher cl.exe d'imprimer le fichier source compilé
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 a dit qu'il ne veut pas. On dirait qu'il ne sait pas * comment *. –