IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Où mettre mon #include


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Par défaut Où mettre mon #include
    Bonjour à tous, n-ième sujet parlant d'inclure des librairies ou des .h de ma part, mais j'ai pas la choix !

    J'ai un fichier .h, que je veux inclure dans un projet sous Visual C++ 2005 express edition (pour ceux qui savent pas encore ), mais je sais pas où je dois faire ça. En gros, qu'est ce que je fais avec mon .h pour que je puisse directement utiliser mes fonctions dans le code correspondant au clic sur un bouton par exemple. N'hésitez pas à mettre des détails, vu qu'apparemment je suis une grosse m****. ça m'évitera de refaire un post, et à vous d'y repondre
    Merci encore et encore et encore

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Il faut mettre ton #include dans le fichier où tu utilise la classe définie dans ce .h.

    Par exemple: toto.h défini la classe CToto. Et bien partour où tu va utiliser cette classe CToto, il faudra que tu incluse toto.h

    Remarque: il faut éviter, tant que faire se peut, de faire des include dans des .h. Préférable sont les déclaration de classe et l'include dans le .cpp

    Hope it helps.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 79
    Par défaut
    Citation Envoyé par r0d
    Il faut mettre ton #include dans le fichier où tu utilise la classe définie dans ce .h.

    Par exemple: toto.h défini la classe CToto. Et bien partour où tu va utiliser cette classe CToto, il faudra que tu incluse toto.h

    Remarque: il faut éviter, tant que faire se peut, de faire des include dans des .h. Préférable sont les déclaration de classe et l'include dans le .cpp

    Hope it helps.
    Ok, donc en gros, je veux inclure matrix.h qui gère des matrices.
    Si je veux construire une matrice en cliquant sur un bouton de ma form1, en appelant le constructeur, il faut que je mette mon include dans form1.h (ouais, .h :-/), puisque c'est dans ce fichier que j'écris le code relatif au clique sur mon bouton.

    Malheureusement, dans ce truc là, y a des pragma, des namespace etc... et je sais pas à quel en droit le mettre, mon include.

  4. #4
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par BenjaminLustrement
    Ok, donc en gros, je veux inclure matrix.h qui gère des matrices.
    Si je veux construire une matrice en cliquant sur un bouton de ma form1, en appelant le constructeur, il faut que je mette mon include dans form1.h (ouais, .h :-/), puisque c'est dans ce fichier que j'écris le code relatif au clique sur mon bouton.

    Malheureusement, dans ce truc là, y a des pragma, des namespace etc... et je sais pas à quel en droit le mettre, mon include.
    Comme je le disais dans mon précédent post, il est déconseillé de mettre ton include dans le .h (pour diverses raisons, mais celle qui me parait la plus importante est la vitesse de compilation).
    Donc, je te conseilles de procéder comme suit:
    Mettons que ton matrix.h définit la classe CMatrix.
    Dans le .h qui utilise une CMatrix, il faut déclarer cette classe, ça va ressembler à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //form1.h
    #pragma once
     
    #include <machin> // noramelement, il ne devrait pas
    #include "bidule.h"  // y avoir d'includes ici, mais bon...
     
    using namespace truc;
     
    class CMatrix;  // déclaration de la class CMatrix
     
    class CForm1
    {
    [...]
    CMatrix m_mamatrice;
    et c'est dans form1.cpp que tu va inclure matrix.h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //form1.cpp
    #include "stdafx.h" //toujours premier si tu utilise la mfc
     
    #include "matrix.h" //inclusion du fichier matrix.h
    Hope it helps.

Discussions similaires

  1. [Tableaux] Où dois-je mettre mon "if" ?
    Par Spike dans le forum Langage
    Réponses: 3
    Dernier message: 25/04/2006, 18h38
  2. Réponses: 29
    Dernier message: 09/04/2006, 14h38
  3. [Mail] Mettre un include dans une variable
    Par Death83 dans le forum Langage
    Réponses: 16
    Dernier message: 04/03/2006, 20h01
  4. [FLASH MX] Ou mettre mon lien ??
    Par skybuck dans le forum Flash
    Réponses: 3
    Dernier message: 27/12/2005, 10h37
  5. [EasyPHP 1.8] Mettre mon site en ligne
    Par Xo Sonic oX dans le forum Apache
    Réponses: 11
    Dernier message: 09/08/2005, 22h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo