Need help ! Tableau de pointeurs en c++

Need help ! Tableau de pointeurs en c++ - Programmation

Marsh Posté le 04-01-2002 à 18:47:25    

Salut,  
 
Voilà je dois créer un pointeur sur un tableau de TEdit !
Par exemple un pointeur sur un tableau de 10 TEdit...
 
Seulement je ne sais plus comment faire  :cry:  
 
ça ressemble à ça ???  
 
TEdit * TabEdit[10] = new ... ?  :??:  
 
Merci de votre aide !  :(


---------------
BE AWARE... !
Reply

Marsh Posté le 04-01-2002 à 18:47:25   

Reply

Marsh Posté le 04-01-2002 à 19:05:03    

En fait ça marcherait si TEdit avait un constructeur pas défaut mais ce n'est pas le cas et je crois que c'est ça le prob !
 
comment je peux faire ?  :)


---------------
BE AWARE... !
Reply

Marsh Posté le 04-01-2002 à 19:05:17    

TEdit* tabTEdit = new TEdit[10];

Reply

Marsh Posté le 04-01-2002 à 19:08:22    

oais ok mais je fais quoi du constructeur par défaut !
le compilateur me dit qu'il ne peut pas en trouver...  :heink:


---------------
BE AWARE... !
Reply

Marsh Posté le 04-01-2002 à 19:17:37    

le constructeur par défaut ne prend aucun paramètre. ie  
 
class myClass()
{
   myClass(); // le constructeur par défaut
};
 
un new qui alloue un array ne peut pas appeler autre chose que ce constructeur. donc :
 
* si c'est toi qui a écrit TEdit ou qui a les sources, tu peux modifier la classe pour rajouter un constructeur par défaut
 
* sinon, tu alloues un tableau de pointeurs et tu alloues chaque objet à la mimine. ie si ta classe ressemble à :
 
class myClass2()
{
  myClass2(int, float, float);
};
 
tu alloues un tableau de pointeurs :
int num = 10;
myClass2** tab = new myClass2*[num];
for (int i=0; i<num; i++)
{
  tab[i] = new myClass2(4, 2.3f, 5.2f);
}
 
du coup c'est plus chiant, il faudra faire bien gaffe à détruire tous les objets et le tableau.

 

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

Reply

Marsh Posté le 04-01-2002 à 19:23:44    

Ok je te remercie...  ;)


---------------
BE AWARE... !
Reply

Sujets relatifs:

Leave a Replay

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