Retour de fonction // tableau // POO
Bonjour!
Je suis en train de coder un petit programme de gestion d'une bibliothèque.
Ma class Bibliothèque contient un tableau d'objets Ouvrage : listeOuvrages
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
|
#ifndef _BIBLIOTHEQUE_
#define _BIBLIOTHEQUE_
/**********************************************/
#include <vector>
#include "Ouvrage.h"
#include "Abonne.h"
class Bibliotheque{
private:
std::vector<Ouvrage*> listeOuvrages; //
std::vector<Abonne*> listeAbonnes;
public:
Bibliotheque();
void ajoutOuvrage(Ouvrage *ouvrage);
Ouvrage getOuvrage(std::string titre); //
void ajoutAbonne(Abonne *abonne);
Abonne getAbonne (int id) const ;
void Emprunter(std::string titre, int id);
void rendre(int id);
void info() /*const*/ ;
~Bibliotheque();
};
/**********************************************/
#endif |
ma class Bibliothèque contient une méthode getOuvrage qui prend en argument un titre d'ouvrage et qui renvoie l'ouvrage correspondant s'il existe:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
Ouvrage Bibliotheque::getOuvrage(std::string titre){
if (listeOuvrages.size() == 0){
std::cout << "Il n'y a aucun ouvrage dans la bibliothèque." << std::endl;
// QUE PUIS-JE RETOURNER?
}
else{
for (int i=0; i<listeOuvrages.size();i++){
if (listeOuvrages[i]->getTitre() == titre){
std::cout << "Ouvrage envoyé." << std::endl;
return *listeOuvrages[i];
}
else{
std::cout << "L'ouvrage n'est pas dans la bibliothèque." << std::endl;
// QUE PUIS-JE RETOURNER?
}
}
}
} |
Cette méthode doit renvoyer un objet ouvrage.
Lorsque mon tableau d'Ouvrages contient au moins 1 élément qui correspond à la demande, la méthode fonctionne parfaitement.
Mais quand le tableau est vide ou alors que l'Ovrage demandé n'est pas dans le tableau d'Ouvrages qu'est ce que je peux retourner? (Dans le code ci-dessus, se référer au commentaire QUE PUIS-JE RETOURNER?)
Merci beaucoup par avance pour votre aide :)
Letthieum