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

  FORUM HardWare.fr
  Programmation
  C++

  Toujours constructeur, pointeurs, agrégation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Toujours constructeur, pointeurs, agrégation

n°1052035
kaktusBigO​ne
Posté le 19-04-2005 à 12:14:47  profilanswer
 

Bonjour,
 
Après avoir tenu compte des remarques de Schnapsmann et Harkonnen ,j'ai reécrit la classe ce matin.
J'ai reposté car je ne sais pas mettre du code C++ en réponse rapide :)
 

Code :
  1. class Tableau                       
  2.       {
  3.       protected :
  4.       int *ad;
  5.       int dimension;
  6.      
  7.       public :
  8.            
  9.       // Permet d'afficher et affecter membre par membre             
  10.       int & operator [] (int dim) 
  11.           { return ad[dim]; }
  12.              
  13.       // Permet l'affectation entre deux objets "Tableau" s'ils sont !=         
  14.       Tableau & operator = (Tableau &tab)
  15.           { if (this != &tab)
  16.               {
  17.               delete [] ad;
  18.               ad= new int[dimension=tab.dimension];
  19.               for (int i=0;i<dimension;i++) ad[i]= tab.ad[i];
  20.               }
  21.              return *this;
  22.           } 
  23.      
  24.       Tableau(int dimension)                // Constructeur
  25.           { ad= new int[this->dimension=dimension]; } 
  26.              
  27.       Tableau (const Tableau &t)            // Constructeur de copie
  28.           {
  29.           ad= new int[dimension=t.dimension];
  30.           for (int i=0; i< dimension;i++) ad[i]= t.ad[i];
  31.           }
  32.              
  33.       ~Tableau()
  34.           { delete [] ad; }
  35.       };
  36. int main()
  37.     {
  38.     Tableau tab1(3);
  39.     Tableau tab2(3);
  40.     // Remplissage, tab1 par des valeurs, tab2 par défaut.
  41.     for (int i=0; i<3; i++) tab1[i]=i; 
  42.            
  43.     for (int i=0; i<3; i++)                             
  44.         { tab2[i]=0; cout << tab1[i] << "\t" << tab2[i] << endl; }
  45.        
  46.     tab2=tab1;        // affectation
  47.    
  48.     for (int i=0; i<3; i++)                     
  49.         { cout << tab1[i] << "\t" << tab2[i] << endl; }
  50.    
  51.    
  52.    
  53.     system("PAUSE" );
  54.     return 0;
  55.     } ;


 
 
Bon ca a l'air de marcher.
Reste à voir la gestion pour un type "pointeur"  
(un Tableau *tabp1 = new BigTableau(3) avec BigTableau héritant de Tableau par exemple) mais avec tous vos précieux renseignements, je devrais m'en sortir et corriger beaucoup d'erreurs - dont certaines étaient dans mon cours même .. -.
Un GRAND merci donc.
 
Si vous voyez encore autre chose, n'hésitez pas ...  
 
 
Bon y'a des magos et des fighter qui m'attendent moi :). Paraît que je suis en congés lol.
 
Bonne journée à toutes et tous.
 

mood
Publicité
Posté le 19-04-2005 à 12:14:47  profilanswer
 

n°1052236
Tarabiscot​e
Posté le 19-04-2005 à 14:35:33  profilanswer
 

Déjà pour répondre, il n'y a pas que la réponse rapide, il y a un bouton Répondre juste au dessus à gauche.
 
Ensuite pourquoi tu n'utilises pas un vector pour ton tableau ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Toujours constructeur, pointeurs, agrégation

 

Sujets relatifs
Constructeur de copie, agrégation et surcharge de "="java et pointeurs sur fonction
Association , agregation et compositiondynamic_cast, segmentation fault, constructeur par copie
[C++] problème de constructeur ?Problème d'agrégation
[Java] class static et constructeur[c++] question bête sur les pointeurs
C++ => Pointeurs 
Plus de sujets relatifs à : Toujours constructeur, pointeurs, agrégation


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