Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1534 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  creer un grand nombre d'objets

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

creer un grand nombre d'objets

n°1730900
sebite
Posté le 12-05-2008 à 17:14:44  profilanswer
 

Salut,
 
Je cherche à faire une médiathèque en c++. Je bloque au niveau du chargement du fichier des données de la médiathèque en mémoire.
 
Les médias sont entrés sous forme d’objet dans la mémoire, puis sauvegardés dans un fichier texte.
 
Quand on lance le programme, les médias doivent être chargés en mémoire.
 
Voici le programme que je voudrais faire :
1) je recrée les médias sous forme d’objets en lisant le fichier Txt
2) je les place dans un tableau (vector) pour pouvoir les utiliser plus tard
 
Je ne vois pas comment nommer les objets à créer. Est t il possible d’utiliser des indices : a1, a2, a3, …, a999 ?? Existe t il des outils permettant cela ?
 
merci de votre aide.

mood
Publicité
Posté le 12-05-2008 à 17:14:44  profilanswer
 

n°1730901
Joel F
Real men use unique_ptr
Posté le 12-05-2008 à 17:17:36  profilanswer
 

boost::serialization

 

sinon, plus pragmatiquement :

 
Code :
  1. vector<Media> medias;
  2. while( ?? ) // tant que tu lis des media du tx
  3. {
  4.   Media m;
  5.   m = lire_media_depuis_fichier();
  6.   medias.push_back(m);
  7. }


Message cité 1 fois
Message édité par Joel F le 12-05-2008 à 17:20:45
n°1730948
sebite
Posté le 12-05-2008 à 19:10:44  profilanswer
 

j'ai besoin de creer dynamiquement les objets, car ils sont modifiables et sont de differents types : media<-CD, media<-DVD ...
 
en remplacant :
Media m;    par     Media *media = new CD();
ou  Media *media = new DVD();
cela marche t il toujours ?
 
merci

n°1730950
Joel F
Real men use unique_ptr
Posté le 12-05-2008 à 19:21:11  profilanswer
 

bah la il fut faire une factory abstraite et mettre en place un mecanisme de serialisation. boost::serialize :o

n°1731126
Taz
bisounours-codeur
Posté le 13-05-2008 à 11:50:35  profilanswer
 

Joel F a écrit :

boost::serialization
 
sinon, plus pragmatiquement :
 

Code :
  1. vector<Media> medias;
  2. while( ?? ) // tant que tu lis des media du tx
  3. {
  4.   Media m;
  5.   m = lire_media_depuis_fichier();
  6.   medias.push_back(m);
  7. }




wof, std::copy / back_inserter

n°1733124
sebite
Posté le 17-05-2008 à 17:18:24  profilanswer
 

si ca peut aider qqn, j'ai fini par faire comme ca :
 
vector<Medias*> tabMediatheque;
int i = 0;
 
ifstream fichier("mediatheque.txt", ios::in);  // on ouvre le fichier en lecture
   
 if(fichier)                // test d'ouverture
 {
  string ligne, test;
  while (getline(fichier,ligne))
  {
   
   tabMediatheque.push_back(new CD);
   tabMediatheque.at(i) -> set_id(Id);
                        i++;
                        ...

n°1733153
Taz
bisounours-codeur
Posté le 17-05-2008 à 19:11:35  profilanswer
 

bah pareil sans new


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  creer un grand nombre d'objets

 

Sujets relatifs
Perl :comment forcer une variable sur un certain nombre de caractères?créer un echiquier en C
Créer un int à partir d'autres intGérer les objets COM
Perl et FTP : Aller dans un sous dossier et le créer s'il existe pas..Compter le nombre de feuilles
[c#] objets -- peut être une question de noobsauvegarde et chargement d'un tableau d'objets (class)
Sécurité site comercial et structure du code[HTML/CSS] Créer de nouvelles balises, authorisé ?
Plus de sujets relatifs à : creer un grand nombre d'objets


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR