Accueil > Forum > > > > Tableau d'objets
Tableau d'objets
samedi 29 avril 2006 à 13:44:53 |
Tableau d'objets

nisaloncaje
|
Bonjour, je suis débutant en c++ et j'aimerais savoir comment faire pour créer un tableau dynamique d'objets, c'est à dire un tableau d'objet donc je puisse modifier la taille etc ..., sachant que ce tableau d'objet doit etre un des attributs d'un autre objet
J'ai donc le schéma suivant :
objet1
|
| - Variables ...
| - Tableau d'objets - obj[0]
- obj[1] ....
Merci d'avance de vos réponses
PS : Quelqu'un aurait-il le même problème que moi : depuis quelques temps, quand je me connecte sur cppfrance j'ai la fenetre suivante qui s'affiche :
http://www.hiboox.com/image.php?img=7vwuq5e.jpg
|
|
samedi 29 avril 2006 à 18:57:05 |
Re : Tableau d'objets

saibe
|
salut ! même débutant si t'es motivé tu vas vite comprendre... personnellement j'utilise 2 types de tableau bien pratique : CTypedPtrList et CList sous VC6 pour les utiliser tu dois rajouter #include <afxtempl.h> dans le StdAfx.h
puis tu les utilises comme ca tu crées ton objet dérivé de CObject class MonObjet :: public CObject { //avec tout ce que tu veux dedans : fonctions, variables };
ensuite dans ton appli ou dans une autre class tu définis ta liste d'objets (je te donne un exemple pour une liste de pointeurs car c'est celle que j'utilise le plus... la CList est une liste objets mais elle est moins souple...)
CTypedPtrList<CObList, MonObjet*> m_ListeObjets;
que tu manipules comme ça : MonObjet* objet = NULL; objet = new MonObjet(); m_ListeObjets.AddTail(objet); // pour ajouter
et tu peux parcourir ta liste comme suit : POSITION pos = m_ListeObjets.GetHeadPosition(); while(pos) { objet = m_ListeObjets.GetNext(pos); } sous VC6 tu pourras voir toutes les fonctions de la liste.
j'espère avoir été clair... saibe
|
|
samedi 29 avril 2006 à 20:27:10 |
Re : Tableau d'objets

luhtor
|
Mais je pense que avant d'utiliser des abstractions. Il faudrait savoir utiliser les outils de bases:
class ton_objet
{
...
};
Dans ton main
ton_objet * mon_tableau_objet = new ton_objet[10]; // <= créer un tablea de 10 objets.
Donc ca, ca créer un tableau d'objet. Pour avoir une taille variable,
tu en récréés un nouveau plus grand et tu copies l'ancien dans le
nouveau. Voila comment il faudrait faire.
Perso, je ne connais pas VC, mais juste les outils du C++.
En C++, on utiliserait la STL.
#include <vector>
using namespace std;
dans ton main:
vector<ton_objet> mon_tableau_taille_variable;
ton_objet un_objet;
mon_tableau_taille_variable.push_back(un_objet); // ajoute en fin de tableau un élément.
on accèdre aux objets par:
mon_tableau_taille_variable[0]; <= accès au premier objet
mon_tableau_taille_variable.size(); <= retourne la taille du tableau.
Pour un peu plus de détails:
http://allproginfo.free.fr/Programmation/Cpp/Vector.html
Pour tous les détails:
http://www.sgi.com/tech/stl/index.html
|
|
samedi 29 avril 2006 à 20:38:12 |
Re : Tableau d'objets

luhtor
|
Tiens sinon j'avais pas noté, mais: saibe => CTypedPtrList et CList ne sont probablement pas des tableaux mais des listes.
|
|
mardi 2 mai 2006 à 05:15:27 |
Re : Tableau d'objets

saibe
|
salut luhtor ! en effet ce sont des listes mais tel que j'ai compris la question ct mettre à la suite l'un de l'autre des objets sans forcément avoir besoin d'indexation. donc ici, tableau ou liste c'est pareil. qu'en penses tu ? saibe
|
|
Cette discussion est classée dans : objet, tableau, obj, objets
Répondre à ce message
Sujets en rapport avec ce message
Tri de tableau d'objets... [ par dbiare ]
Bonjour J’ai un petit souci en Visual C++6… Je détiens, après traitement, deux indices (i et j) d’un même tableau d’objet : m_oaBras[]. Je dois permut
utilisation de delete sur des objets... ca marche comment ? [ par vincemail ]
Bonjour, je voudrais savoir comment fonctionne delete sur des objets.. Par exemple j'ai un objet Tableau qui contient un membre *tableau (qui est bien
Quelle est la meilleur solution pour deplacer des objets independemment [ par adess00 ]
Coucou Je fais un structure qui enregistre la position de chaque objets dans ma scene Et je voudrais savoir quelle est la meilleur methode Voici cell
gestion d'une multitude d'objets, interactions dans l'espace [ par cppdupdup34 ]
alors voila j'ai une petite question !Comment gerer une multitude d'objets géométriques dans un espace tridimensionnel ?A titre d'exemple, sur une map
threads : synchroniser l'acces à des données en mémoire [ par guerald ]
Bonjour, Voila mon problème jai "n" threads qui doivent partager un objet en mémoire. Pour des soucis d'obtimisation l'objet doit pouvoir être access
Comment recupéré un element d'une liste? [ par Sat83 ]
Bonjour!J'ai une liste d'Objet:list canaux;Où Data est une classe...Comment faire pour récupéré le Nième element de cette liste?Comme avec un tableau
Construire un objet CByteArray à partir d'un tableau de Bytes [ par Taoufik77 ]
Salut,Quelqu'un aurait uen idée pour créer un objet de type CByteArray à partir d'un tableau de bytes. J'ai pensé à la méthode SetAt(int nIndex, CObje
Instance de classe (question stupide) [ par CyberP ]
Une petite question idiote que je ne me suis jamais posée (je n'ai jamais rencontré ce problème auparavant d'ailleurs) J'ai ce code : struct Objet {
modifier la taille d'un tableau d'objet [ par istdasklar ]
Bonjour, Je travaille sur de tres grand tableau d'objet, (de l'ordre de 10000 objet par tableau). Mais, je sais pas trop my prendre, pour agrandir
[Allegro] Animation d'objets [ par GoldenEye ]
La situation est simpleOn est en true color (Allegro)J'ai un décor de fond statique (BITMAP *decor)J'ai un petit objet mobile (BITMAP *objet)Le petit
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|