probleme d'affichage de mes objets
Bonjour a tous
j'ai le probleme suivant quand je veux afficher les objet PieceMuseeArt que j'encode et je parcous à l'aide de mon itérateur, à l'affichage il m'affiche tous les parametres par defaut de la PieceMuseeArt sans qu'il prenne en considération ce que je lui ai encodé.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
int main()
{
int i;
cout<<"combien delement voulez vous"<<endl;
cin>>i;
Personne per;
PieceMuseeArt p;
p.Encode();
TVecteur<PieceMuseeArt>vpm(i);
cout<<"fini";
vpm.ajout(&p);
vpm.affContenu();
} |
la methode Encode
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
PieceMusee& PieceMuseeArt::Encode()
{
PieceMuseeArt pmar;
cout<<"--------------Encodage de la piece-----------"<<endl;
Identifiant i;
char l;int a;
cout<<"Inserer la lettre de l'id alphanumerique de la piece: ";
cin>>l;
i.setLettre(l);
this->id.setLettre(l);
cout<<"Quelle est son annee d acquisition?";
cin>>a;
i.setAnnee_dacq(a);
this->id.setAnnee_dacq(a);
pmar.setIdentifiant(i);
cout<<"l'id avec la surcharge de <<"<<i<<endl;
cout<<"l'id avec surcharge de = "<<pmar.id<<endl;
cout<<"l'id avec toString()est: "<<i.toString(l,a)<<endl<<endl;
cout<<"quelle est la categorie de la piece: ";
cin>>category;
cout<<"decrivez la piece: ";
cin>>description;
cout<<"Donnez une estimation en euro de la piece:";
cin>>valeur;
cout<<"quelle est sa date d'entree au musee: ";
cin>>dateIn;
setDateIn(dateIn);
cout<<"la piece est-elle exposee au musee O/N: "<<endl;
cin>>exposed;
cout<<"encodage de l'auteur"<<endl;
pmar.auteur->Encoder();
this->auteur->nom = pmar.auteur->nom;
this->auteur->prenom = pmar.auteur->prenom;
this->auteur->dateDeNaissance = pmar.auteur->dateDeNaissance;
return *this;
} |
j'ajoute les element dans le vecteur template avec:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
template <class type>
int TVecteur<type>::ajout( type *n)
{
type *pNouv = new type;
*pNouv = *n;// l'operateur = est surchargé correctement
data[nbrElem] = *pNouv;
nbrElem++;
return 1;
} |
et j'affiche avec la methode
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
template <class type>
void TVecteur<type> :: affContenu(void)
{
iterTVecteur<type> it(*this);
while(!it.end())
{
type t((type &)it);
cout<<t<<endl;//surchargé dans la classe type instanciée
it++;
} |
pourquoi à votre avis il m'affiche les parametre par defaut?