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

C++ Discussion :

definition de plusieurs classes dans un meme header


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 114
    Points : 44
    Points
    44
    Par défaut definition de plusieurs classes dans un meme header
    je voudrais savoir si le fait de definir plusieurs classes dans un meme fichier .h ne pose pas de probleme particulier?

  2. #2
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Aucun.
    A la limite quand on a besoin d'une seule des classes, on charge plus de choses que nécessaire ce qui peut ralentir la compil.
    Découpe suivant les rôles, les utilisations, ...

  3. #3
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    aucun ! si tu toutche un peut au different editeur de code de code comme code::block tu vera qu'il te le fait meme automatiquement pour faire des GUI

  4. #4
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 265
    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 265
    Points : 6 686
    Points
    6 686
    Billets dans le blog
    2
    Par défaut
    Cela ne pose pas de problème de compilation, en effet. Cependant, et c'est un avis personnel, je le déconseille pour les raisons suivantes:
    -> clarté du code. Lorsque quelqu'un (toi y compris) reprendra le code, si les classes sont bien définie: 1 fichier .cpp et 1 .h par classe, c'est toujours plus simple pour naviguer dans le code.
    -> temps de compilation. En effet, si plusieurs classes sont définies dans un même .h, lorsque tu veux utiliser une de ces classes, il te faut inclure, donc définir, toutes les classes. De plus, si tu modifie une seule de ces classes, le compilateur risque de recompiler toutes les classes.
    -> facilité de manipulation des fichiers. Par exemple, si jamais tu veux utiliser une seule de ces classes dans un autre projet, il est toujours plus simple et plus rapide de copier directement le fichier, plutôt que de faire des copier/coller du code.

  5. #5
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Il m'arrive réglièrement de le faire quand :
    - Les classes sont très petites (3/4 fonctions)
    - Les classes sont très liées, et en utiliser une ne se conçoit pas sans utiliser les autres
    - Les classes sont peu nombreuses
    - Le code est peu amené à évoluer

    En général, je met dans ce cas une classe de base, 2/3 dérivées de celle-ci, et la factory permettant de les créer. L'alternative consistant à avoir 10 fichiers me semble moins lisible. Mais c'est vrai qu'en général (sauf classe imbriquée, évidemment), une classe par fichier.

  6. #6
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 265
    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 265
    Points : 6 686
    Points
    6 686
    Billets dans le blog
    2
    Par défaut
    Je suis d'accord, mais à ce moment là, pourquoi faire plusieurs classes?

    (je pinaille, j'en conviens , mais je suis curieux parce que personnellement, ça ne m'est jamais arrivé de faire ça).


  7. #7
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Imagine que tu doives écrire un conteneur et son itérateur.
    Un classe Et un petit proxy qu'il lui et associé et qu'elle renvoie.

  8. #8
    Membre averti
    Avatar de Neo41
    Inscrit en
    Janvier 2003
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 241
    Points : 403
    Points
    403
    Par défaut
    Sur le projet sur lequel je travaille ca m'est arrivé de rencontrer (à part les cas de plusieurs classes dans le même .h), la définition d'une classe dans une autre classe (genre un Dialog et la grille associée).

  9. #9
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    On a aussi de nombreux exemples de cette pratique dans les .h des MFC.

Discussions similaires

  1. Plusieurs class dans un meme fichier.java
    Par bipbip2006 dans le forum Langage
    Réponses: 4
    Dernier message: 10/12/2007, 10h35
  2. [STRUTS] Plusieurs actions dans une meme page
    Par DarkWark dans le forum Struts 1
    Réponses: 22
    Dernier message: 10/01/2006, 16h18
  3. plusieurs reponses dans un meme champ
    Par Clelia dans le forum Access
    Réponses: 2
    Dernier message: 25/12/2005, 22h54
  4. création de plusieurs fiches dans un meme formulaire...
    Par Toff !!!!! dans le forum Access
    Réponses: 3
    Dernier message: 13/10/2005, 13h44
  5. Réponses: 9
    Dernier message: 25/09/2005, 16h33

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