destructeur de classe

destructeur de classe - C++ - Programmation

Marsh Posté le 16-11-2007 à 21:47:58    

Bonjour,  
 
Je dois programmer une classe de vecteur.
 
class Vecteur {
private :
  unsigned int n;
  double* p;
public :
.............
...........
..........
  ~Vecteur()
  {  
    delete[] p;
  }
}
 
J'aimerais pouvoir faire une boucle du style
pour i=1,n  
Vecteur A(i)
etc;;;
afin de faire une boucle qui augmente la taille du vecteur our chaque itération;
 
Le problème c'est que je redéfinis à chaque fois le vecteur A et ça ça ne marche pas
je voulais donc avant la fin de la boucle appeler le destructeur de classe.
Je ne sais pas comment l'appeler..
 
En vous remerciant de vos réponses

Reply

Marsh Posté le 16-11-2007 à 21:47:58   

Reply

Marsh Posté le 16-11-2007 à 22:11:33    

faire une méthode resize m'a l'air pas mal.
pas reinventé la roue et utiliser std::vector serait encore bien mieux

Reply

Marsh Posté le 16-11-2007 à 22:15:12    

Bonsoir
 
Désolé mais je suis grand débutant en c++ je ne vois pas torp ce que ça veux dire

Reply

Marsh Posté le 16-11-2007 à 23:23:53    

Il veut dire que tu spécifie ou pas (mais c'est plus pratique) le namespace std::vector avant la definition de ta classe et tu pourra utiliser la méthode resize de la classe vector...
 
using namespace std;
 
Puis tu peux faire vector.resize();


Message édité par Splinter_7 le 17-11-2007 à 00:02:22

---------------
www.forzaitalia.ath.cx Tout sur la squadra azzurra et le football européen
Reply

Marsh Posté le 17-11-2007 à 00:19:15    

non !
 
ca sert a quoi de créer des namespaces si c'est pour inhiber les effets via des using ?

Reply

Marsh Posté le 17-11-2007 à 00:30:16    

Ce que je viens de dire n'est pas juste ? Le namespace va simplement permettre d'utiliser la classe vector sans spécifier std à chaque fois... non ?

Reply

Marsh Posté le 17-11-2007 à 00:45:18    

et tu crois que les std:: est la pour faire joli ?

Reply

Marsh Posté le 17-11-2007 à 00:51:56    

Je dis simplement que le fait de placer using namespace std permet d'éviter de préfixer les classes utilisées comme vector...

Reply

Marsh Posté le 17-11-2007 à 09:12:29    

non je disais juste qu'il fallait mieux utiliser la classe vector qui existe deja :o ou bien donnez à ta classe Vector une méthode resize qui permettrait d'effectuer lamise à jour de la taille de ton objet.

 

@NueclearSnake :
Appeler le destructeur n'est pas recommendé. C'ets une méthode qui a un status un peu particulier.
Pour ton probleme, avec std::vector, voila ce que ca donne :

 
Code :
  1. std::vector<double> A;
  2. for(int i=1;i<=N;i++)
  3. {
  4.   A.resize(i);
  5. // .. do stuff
  6. }


Message édité par Joel F le 17-11-2007 à 09:14:41
Reply

Marsh Posté le 17-11-2007 à 12:41:10    

un resize a chaque itération ?

Reply

Marsh Posté le 17-11-2007 à 12:41:10   

Reply

Marsh Posté le 17-11-2007 à 14:47:27    

je traduit betement ce quer le PI a dit; je suis bien conscient que c'est nul

Reply

Marsh Posté le 17-11-2007 à 14:51:43    

me disait bien..

Reply

Sujets relatifs:

Leave a Replay

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