MrKribou
Messages postés21Date d'inscriptiondimanche 18 août 2002StatutMembreDernière intervention 8 novembre 2002
-
20 sept. 2002 à 01:01
brozman
Messages postés12Date d'inscriptionmardi 16 avril 2002StatutMembreDernière intervention21 juillet 2006
-
23 sept. 2002 à 08:55
Bon dans le fichier .h (ou fait c comment qu'on appele se fichier la ? header ?) comment declare ton un tableau d'objet comme variable d'instance.
Par exemple, si je fais ca ca marche pas :
exObjet unOjet[];
et si je fais ca ca marche pas non plus :
exObjet unOjet[0];
Donc comment je dois faire, parce que la je veux et je dois juste le declarer et pas encore l'utiliser ni meme l'initailiser. Enfin ca sert a ca les .h ?
Ma question donc c'est le sujet du message : comment declare t'on un tableau d'objet comme variable d'instance en c++ ?
jimtruand
Messages postés18Date d'inscriptionvendredi 15 mars 2002StatutMembreDernière intervention27 octobre 2003 20 sept. 2002 à 11:25
salut,
pour procéder a l'initialisation des fichiers objet
n'oublie pas de le faire dans le constructeur
sinon les fichiers .h les fichiers include aussi je crois te permettent d'utiliser des fonctions
ex:# include "iostream.h"permet d'utiliser les fonctions d'entrees sorties cout cin.
jcecchi
Messages postés117Date d'inscriptionsamedi 12 janvier 2002StatutMembreDernière intervention14 janvier 20033 20 sept. 2002 à 11:50
salut,
>> Par exemple, si je fais ca ca marche pas :
>> exObjet unOjet[];
si tu fais comme ca tu dois l'initialiser :
exObjet unObjet[] = { {objet1} , {objet2} , ... }
>> et si je fais ca ca marche pas non plus :
>> exObjet unOjet[0];
ici tu declares un tableau de 0 exObjet donc pas étonnant que ca ne marche pas.
Si tu connais d'avance le nombre d'objet de ton tableau tu fais :
exObjet unObjet[NBOBJET];
Sinon tu fais comme a dit brozman.
MrKribou
Messages postés21Date d'inscriptiondimanche 18 août 2002StatutMembreDernière intervention 8 novembre 2002 22 sept. 2002 à 01:08
Bon donc j'ai essaye et ca marche par contre j'ai un probleme vraiment etrange. Tellement etrange que je me demande si ca viendrai pas du compilateur (Dev c++ cad g++ je crois).
Donc j'ai declarer ca :
int nb;
exObjet *unObjet;
ensuite pour l'initialiser dans le constructeur j'ai fait ca:
nb=0;
unObjet=new exObjet[nb];
Et la l'erreur qu'il me met en gros c'est qu'il ne trouve pas de constructeur correspondant pour l'objet de type exObjet.
Mais si j'essaye directement dans passer par une variable par exemple :
unObjet=new exObjet[0];
Il ne me met aucune erreur.
C'est moi qui devient fou ?
Donc si le probleme nn'est pas resolvable y a t'il un moyen pour le coutourner, de connaitre la taille d'un tableau ? du genre tab.length() en java.
MrKribou
Messages postés21Date d'inscriptiondimanche 18 août 2002StatutMembreDernière intervention 8 novembre 2002 22 sept. 2002 à 15:31
Et si je veux declarer un tableau de 0 objets j'ai bien le droit non ? C'est pas cense pose probleme.
Mon tableau c'est une variable d'instance, donc quand je construit l'objet je suis bien oblige d'initialiser le tableau mais vu que pour l'instant ya rien dedans j'y mets rien et apres quand j'y ajouterai quelque je modifierai la taille du tableau.
C'est pas interdit ca quand meme ?
De toute facon comme j'ai dit, le probleme est pas la. Si j'initialise directement le tableau a 0 sans passer par une variable de type entier ca pose pas de probleme. C'est juste quand je passe une variable pour definir la taille du tableau qu'il me dit qu'il trouve pas de constructeur de ce type pour l'Objet du tableau.
Le probleme est si con que je me demande si ca serait pas une erreur du compilateur (Dev c++ agit bizarrement parfois).
Relis mieux mon post precedent si tu comprends pas trop ce que je veux dire.