Destructeur très urgent ! (pour dans qq heures)

Destructeur très urgent ! (pour dans qq heures) - Programmation

Marsh Posté le 27-11-2001 à 06:14:10    

pour une classe du type :  
class Matrice {
private:
 
 char      nom [10];
 int       nbl;  
 int       nbc;  
 double ** elements;
};
 
 
la seule chose à détruire dans le destructeur est bien  
delete elements hein ? rien de plus ?
 
Confirmation PLEASE !

Reply

Marsh Posté le 27-11-2001 à 06:14:10   

Reply

Marsh Posté le 27-11-2001 à 08:21:40    

vi

Reply

Marsh Posté le 27-11-2001 à 08:24:11    

au fait j'ai vu qu'on pouvait faire des delete[]
kékécé ?

Reply

Marsh Posté le 27-11-2001 à 08:24:32    

MARCI !

Reply

Marsh Posté le 27-11-2001 à 08:32:33    

kowalski a écrit a écrit :

la seule chose à détruire dans le destructeur est bien  
delete elements hein ? rien de plus ?


ça dépend comment tu as alloué elements. là, je dirais que tu as alloué un tableau de pointeurs, puis pour chaque case, un element ou un tableau d'éléments.
 
un delete elements n'effacerait alors que le tableau de pointeurs et pas le reste.
 
Godbout > le delete [] c'est pour deleter un tableau .... (genre ptr = new Object [17]; delete [] ptr)

Reply

Marsh Posté le 27-11-2001 à 08:32:48    

Godbout a écrit a écrit :

au fait j'ai vu qu'on pouvait faire des delete[]
kékécé ?  




 
me rappelle plus bien, j'hésite entre le delete récursif (pour un objet issu d'un new contenant des objets du même type et un delete d'un vecteur d'objet.

Reply

Marsh Posté le 27-11-2001 à 08:33:01    

ok thx :)

Reply

Marsh Posté le 27-11-2001 à 09:05:40    

a mon avis :
 
for (int i = 0 ; i < nbl ; i++)
  delete [] elements[i];
 
delete [] elements;

Reply

Marsh Posté le 27-11-2001 à 09:10:36    

Version 2.0 :D :  

Code :
  1. if (elements)
  2. {
  3. for (int i = 0 ; i < nbl ; i++)
  4.    if (elements[i])
  5.       delete [] elements[i];
  6. delete [] elements;
  7. }

Reply

Marsh Posté le 27-11-2001 à 09:11:35    

certes ...

Reply

Marsh Posté le 27-11-2001 à 09:11:35   

Reply

Marsh Posté le 27-11-2001 à 09:21:38    

à mon avis il est déjà parti se toller à son exam ... (:lol:)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed