[LCP] - Projet CPP

Voir le sujet précédent Voir le sujet suivant Aller en bas

resolu [LCP] - Projet CPP

Message  justblaze le Dim 31 Jan 2010, 12:25

Salut,
Voici le code d'une structure en c++ vu au cours :
Code:
struct Brol
{
   Brol(int j=8) : i(j){}
   
   int get() const {}
   
private:
   int i;
};
Pour le projet, j'essai de représenter le corps du ver avec une liste chaînée comme pour les structures AFile et BMaillon (voir TD4 ou TD5 de C), et j'obtiens les 2 structures suivantes :
- Anneau qui représente une partie du corps du ver
Code:
struct Anneau
{
   Anneau(int l, int c);
   ~Anneau();
   int getLignePos() const;
   int getColonnePos() const;
   void setLignePos(int l);
   void setColonnePos(int c);
   Anneau * getAnneauSuivant() const;
   void setAnneauSuivant(Anneau * s);
   int getVal() const;

private:
   static int VAL;
   Position position;
   int valeur;
   Anneau * suivant;
};
- Corps qui représente la liste de tous les anneaux
Code:
struct Corps
{
   Corps();
   ~Corps();
   Anneau * getTete() const;
   Anneau * getQueue() const;
   void ajouterAnneau();

private:
   Anneau * tete;
   Anneau * queue;
};

- Dois-je créer un fichier *.cpp pour chacun des fichiers Anneau.h et Corps.h ? ou dois-je, comme dans l'exemple du cours, écrire le code de chaque méthode dans le *.h ?
- Peut-on avoir un destructeur pour une structure ?


Dernière édition par justblaze le Dim 31 Jan 2010, 17:53, édité 1 fois

justblaze

Nombre de messages : 159
Age : 30
Prénom : Ismael
Statut : Etd 3R11
Localisation : Wolu. St. Lambert
Date d'inscription : 09/11/2006

Revenir en haut Aller en bas

resolu Re: [LCP] - Projet CPP

Message  Anthoblack le Dim 31 Jan 2010, 12:44

Le but premier d'une structure, même si elle est proche de la définition d'une classe, n'est pas de faire des choses aussi "complexes" que celles que tu proposes, me semble-t-il. Enfin c'est une question de point de vue... Autant utiliser une classe, bien plus fréquente en C++, et dont on a reçu beaucoup plus d'informations au cours sur son implémentation C++ (que d'utiliser un "vieux système" légèrement amélioré pour passer au C++).

Mais j'imagine que oui, le destructeur est utilisé aussi... (sinon comment il supprimerait ce que tu as "new" ?)... et que tu n'es, bien sûr, jamais obligé de scinder ton .cpp et ton .h ! Si au cours, ça n'est (parfois) pas fait, c'est simplement par facilité, rapidité (et souvent parce qu'il n'y a qu'une petite ligne dans la méthode). Les profs seront quand même plus heureux de corriger des codes lisibles Smile

Mais là j'me pose quand même la question... pourquoi utiliser une structure ? Tu penses utiliser des union aussi après ? Wink

Anthoblack

Nombre de messages : 764
Age : 28
Prénom : Anthony
Statut : Ex-étudiant
Localisation : Bruxelles
Date d'inscription : 11/03/2008

Revenir en haut Aller en bas

resolu Re: [LCP] - Projet CPP

Message  nvs le Dim 31 Jan 2010, 13:26

justblaze a écrit: - Dois-je créer un fichier *.cpp pour chacun des fichiers Anneau.h et Corps.h ? ou dois-je, comme dans l'exemple du cours, écrire le code de chaque méthode dans le *.h ?
pour des raison de gain de place, les exemples du cours ne sont pas toujours bien découpés en fichier .h et .cpp. la question à se poser est quelles sont les méthodes qui peuvent avoir une chance d'être inline ? placer celles-ci dans le .h, toutes les autres dans le .cpp.

justblaze a écrit: - Peut-on avoir un destructeur pour une structure ?
techniquement, la seule différence entre une classe et une structure, en c++, c'est que par défaut l'accès au contenu est privé pour une classe et public pour une structure. la pratique, pour ce que j'en sais, est de n'utiliser une structure que lorsque tout y est public.







_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

resolu Re: [LCP] - Projet CPP

Message  justblaze le Dim 31 Jan 2010, 17:52

Merci pour ces réponses Wink

justblaze

Nombre de messages : 159
Age : 30
Prénom : Ismael
Statut : Etd 3R11
Localisation : Wolu. St. Lambert
Date d'inscription : 09/11/2006

Revenir en haut Aller en bas

resolu Re: [LCP] - Projet CPP

Message  Contenu sponsorisé Aujourd'hui à 20:43


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum