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é.
la methode Encode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }
j'ajoute les element dans le vecteur template avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
et j'affiche avec la methode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
pourquoi à votre avis il m'affiche les parametre par defaut?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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++; }
Partager