Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2502 connectés 

 


Dernière réponse
Sujet : [C++] aggregation par reference
joce

bjone a écrit a écrit :

joce >> c'est pas bien d'oublier ses classiques. :D  




pfff, en plus je vais devoir m'en reboofer plein :lol:
Enfin ceci, je me rappelle toujours du principe, c'est le principal :D


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
joce

bjone a écrit a écrit :

joce >> c'est pas bien d'oublier ses classiques. :D  




pfff, en plus je vais devoir m'en reboofer plein :lol:
Enfin ceci, je me rappelle toujours du principe, c'est le principal :D

bjone joce >> c'est pas bien d'oublier ses classiques. :D
joce oula, liste chainée, faudrait que je recherche loin dans mes souvenirs, ca doit faire plus d'un an que j'ai pas fais ni C ni C++ :D
Slash- Merci pour ta reponse, mais j'aime bien l'idee d'un conteneur, je voudrais faire une liste chainée pour la classe appareil et ensuite dans stations il me suffirait d'aller voir dans la liste chainé, mais le prob c'est que je ne sais pas trop comment faire cette liste...
 
sais tu me montrer joce? ou meme quelqu'un d'autre?
 
merci
joce et un truc du genre :
 
class appareil
{
private : int numapp;
   char *nom;
   char *caracteristiques;
   int  numero;
public :
   appareil();
   void appareil(int);
   ~appareil();
}
 
class station
{
private : int numsta;
   char *nom;
   appareil *app;
 
public :
 
  station();
  void pipo(int numero, char* nom, appareil* app);
  ~station();
   
}  
 
void appareil::appareil(int numero)
{
  numero=this->numero;
}
 
void station:: pipo(int numero, char* nom, appareil* app)
{
  app->appareil(numero);
}

 

[edtdd]--Message édité par joce--[/edtdd]

Slash- Parce que dans l'enonce (et oui c'est pour l'ecole) on me demande de faire une relation d'aggregation par reference entre stations et appareil
 
voila ;)
joce pourquoi station hériterait pas de la classe appareil ?
Slash- je vois ce que tu veux dire mais en fait, la classe appareil va etre euh... comment dire :) en fait les appareils sont tous definis, on pourra en rajouter mais c'est tres rare, les appareils sont la avant les stations...
 
on ma conseille de faire un conteneur (liste ou tableau) mais je ne sais pas trop comment ca marche, quelqu'un peut il m'expliquer?
 
merci
Fork Il faut utiliser le constructeur/destructeur de ta classe : quand elles sont déclarées et implémentées, ces deux fonctions se lancent automatiquement :
 
- à la création d'un objet de cette classe (constructeur)
- à la destruction d'un objet de cette classe (destructeur)
 
class station  
{  
   private :
   int numsta;  
   char *nom;  
   appareil *app;  
 
   public :
   station(); // prototype du constructeur
   ~station(); // prototype du destructeur
}
 
station::station()
{
   /* dans le constructeur, tu écris toutes les initialisation */
}
 
station::~station()
{
   /* dans le destructeur, tu écris toutes les instructions termiales, comme par exemple la libération de la mémoire que tu as allouée dynamiquement */
}
 
L'idée, c'est que dans le constructeur de "station", tu crée un nouvel objet "appareil" que tu auras préalablement équipé d'un constructeur/destructeur.
 
Mais bon, si tu ne maitrises pas trop ces bestioles, je peux entrer un peu plus dans les détails...
Slash- Salut,
 
j'ai fait une classe appareil et une classe station
j'ai fait une relation d'aggregation par reference entre ces 2 classes (cad qu'il y a un pointeur (appareil *app) dans les variables membres de la classe station)
 
mon aggregation fonctionne sans probleme, mais j'ai un petit souci pour ceci :  
 
l'utilisateur peut choisir d'encoder une nouvelle station
 
il rentre tout ce qui concerne la station puis j'aimerai qu'il rentre le numero d'appareil, ensuite le programme initialisera lui meme le pointeur de appareil (l'aggregation) en fonction du numero d'appareil, quelqu'un peut il m'expliquer comment faire cela svp?
 
merci
 
class appareil
{
 private : int numapp;
    char *nom;
    char *caracteristiques;
 public : blablabla
}
 
class station
{
 private : int numsta;
    char *nom;
    appareil *app;
 
 public : blablabla
}

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)