J'intialize tout d'abord un objet d'hôtel puis initiliser certains objets de chambre et imprimer leurs de respectivement id (qui impriment correctement.)valeurs incorrectes avec iterator automatique sur std :: liste
for(int j=0;j<5;j++){
Room r(1, 30);
hotel.addRoom(r);
cout << "Id: " << r.getId() << endl;
}
Ensuite, je fais cette itération sur la liste:
cout << "Initialized rooms with Ids: ";
for(auto iterator : hotel.getRooms()){
cout << iterator->getId() << " ";
}
cout << endl;
aussi, voici la mise en œuvre de ces méthodes, sur la classe Hôtel:
//header
list<Room*> rooms;
//source
list<Room*> & Hotel::getRooms(){
return rooms;
}
Et regardez la sortie! Toutes les autres parties (comme la génération d'identifiants et la construction d'objets) sont testées et fonctionnent correctement.
Je suppose addRoom fonctionne comme prévu. Dans ce cas, vous avez la liste std :: des pointeurs qui pendent. – DeiDei
Je suppose que le problème est quelque part dans votre classe de classe. Merci de fournir ce code aussi. –