Bonjour,
C'est peut-�tre un probl�me qui semblera basique � certains d'entre vous, mais je n'arrive pas � m'en sortir. Voila dans le cadre d'un projet �cole de gestion de m�diath�que, j'ai d�fini en C++ les classes suivantes:
- Ressource (classe parent)
- CD (h�rite de Ressource)
- Livre (h�rite de Ressource)
- DVD (h�rite de Ressource).
Ressource est donc une classe abstraite.
Je souhaiterais maintenant stocker toutes les ressources dans un container. Donc, apr�s avoir regard� les containers de la STL, j'ai choisi le container map, en associant le titre de la ressource � un pointeur vers la ressource:
J'ai ensuite ajout� deux ressources � mon conteneur de la mani�re suivante:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3typedef map<string, Ressource *> Ressources; Ressources container;
Maintenant je souhaiterais "ressortir" une ressource du conteneur en faisant par exemple:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 //Initialisation de la ressource cd1 et de dvd1 container[cd1.getTitre()] = new CD(cd1); container[dvd1.getTitre()] = new DVD(dvd1);
Malheureusement ce code ne marche pas car le conteneur contient des pointeurs vers des ressources et non pas des pointeurs vers des cds. Meme probl�me si j'essaye d'appeler une m�thode de la ressource:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 CD temp; temp = *(iterateur->second);
Si quelqu'un peut m'aider sur ce probl�me...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 string titre; titre = *(iterateur->second)->getTitre();
Merci d'avance.
Partager