supinfo
Orientez-vous vers les métiers du numérique, des métiers qui recrutent dans tous les secteurs d’activités  metiers-du-numerique.fr
Connexion :
 FAQ

Recherche

  
   Tout| Actus| Télécharger| Pilotes| Comparateur de prix| Dossiers| Forums| Jeux

6 messages
ok

(C++) Creation d'un tableau (si possible dynamique) d'objets dans un objet

Bonjour.

J'ai donc besoin de créer un tableau d'objet (si possible dynamique) dans un programme en C++ mais je rencontre plein de problèmes lors de la compilation.
Voici le résume de cette partie concernée du programme : j'ai crée une classe "phrase" qui contient n fois un nombre d'objet mot (et n dépend du nombre de mots dans la phrase) en plus des autres attributs et fonctions membres.
Pouvez-vous me donner la syntaxe typique à écrire ou peut être un autre type de chose à utiliser.
Merci
 
 
slt j'ai lu to mess et c'est interessant
peut etre tu trouvera
ciao
 
 
[quelqu'un peut-il m'expliquer avant que je parte l'utilité du commentaire précédent]

Si tu pouvais donner plus d'infos sur le code, les erreurs, ...
 
 
utilisation de malloc?
 
 
desolé d'avoir eté inactif.
Je vous passe le code (que je vais coupé un peu...)

Code :
//main.cpp

#include "phrase.h"
#include "mot.h"
#include <cstdlib>
#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main(int argc, char *argv[])
{
 string nom;
 phrase phrase1;
 phrase1.modContenu("");
 phrase1.affInfo();
 phrase1.extMots();
 phrase1.filtMots();
 phrase1.affMots();
}

---------------

//phrase.h

#ifndef PHRASE_H
#define PHRASE_H
#include <cstdlib>
#include <iostream>
#include <string>
#include <fstream>

using namespace std;

class phrase
{
 string contenu;
 mot *mots;
 string *mots0;
 int nbreCaraTotal;
 int nbreCara;
 int nbreSepa;
 int *posSepa;
 int nbreMots0;
 int nbreMots;
 bool *sepa;
 
 
 
 
 public:
 phrase();
 ~phrase();
 void modContenu(string);
 void affContenu();
 void recInfo();
 void affInfo();
 void extMots();
 void filtMots();
 void affMots();
 
};

#endif

-----------------

//phrase.cpp

#include "phrase.h"
#include "mot.h"
#include <cstdlib>
#include <iostream>
#include <string>
#include <fstream>


using namespace std;

phrase::phrase()
{
 nbreSepa=0;
}

phrase::~phrase()
{
 delete[] posSepa;
 delete[] sepa;
 delete[] mots0;
 delete[] mots;
 
}

void phrase::filtMots()
{
 int add=0;
 mots = new mot[nbreMots]; 
 for(int i=0; i<nbreMots0; i++)
 {
 if(mots0[i]!="" )
 {
 mots[add].attribuer(mots0[i]);
 add++;
 
 }
 }
}


-----------------

//mot.h

#ifndef MOT_H
#define MOT_H
#include "phrase.h"
#include <cstdlib>
#include <iostream>
#include <string>
#include <fstream>

using namespace std;

class mot
{
 string contenu;
 string contenuSansTerm;
 string contenuSansGroupe;
 string nature;
 string fonction;
 string termBase;
 .....
 .....

 public:
 mot(string);
 ~mot();
 void recInfo();
 .....
 .....
 void attribuer(string contenu0);
 .....
}

-------------------

//mot.cpp

#include "phrase.h"
#include "mot.h"
#include <cstdlib>
#include <iostream>
#include <string>
#include <fstream>



using namespace std;

mot::mot(string contenu0)
{
 contenu=contenu0;
 mot::recInfo();
 reperto=false; 
 termBase="";
 contenuSansTerm="";
 contenuSansGroupe="";
 tailleCST=0;
 groupe="";
 posInFich=0;
 ptVirg=0;
} 

void mot::attribuer(string contenu0)
{
 contenu=contenu0;
 mot::recInfo();
} 

........
..........
}


FIN DU CODE ouf (je rappelle que j'ai enlevé des partie inutiles qui n'ont aucun rapport avec mon problème)

les erreurs : C:\Programmation\Projai\phrase.cpp In member function `void phrase::affMots()': 
124 C:\Programmation\Projai\phrase.cpp ")) << (((phrase*)this)->phrase::mots + (+(((unsigned int)i) * 48u)))->mot::afficher()' 
 note D:\Dev-Cpp\include\c++\3.4.2\bits\ostream.tcc:63 candidates are: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>&(*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>] 
10 fois ça : note D:\Dev-Cpp\include\c++\3.4.2\bits\ostream.tcc:63 std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>] 
 C:\Programmation\Projai\phrase.cpp In member function `void phrase::filtMots()': 
132 C:\Programmation\Projai\phrase.cpp no matching function for call to `mot::mot()' 
 note C:\Programmation\Projai\mot.h:14 candidates are: mot::mot(const mot&) 
 note C:\Programmation\Projai\mot.h:14 mot::mot(std::string) 
 C:\Programmation\Projai\Makefile.win [Build Error] [phrase.o] Error 1 





Bon voila bon je suis plus débutant en c++ mais je suis tres loin d'un pro avec.
J'espere que ça va vous aider (si vous arriver a comprendre quelque chose dans ce fouilli)
Message edité le 18/03/2008 à 12:49
 
 
std::list
std::vector

ces 2 objets ne te vont pas ?

sinon bah vive malloc :) et longue vie a lui
 
 
 
6 messages
ok
 
Vous devez être connecté pour écrire un message !
 

 Sujets Similaires:


 
Clubic.com
 
Achetez-facile.com
 
Jeuxvideo.fr
 
neteco.com
 
mobinaute.com