Surcharge operator ostream
Fermé
Hurobaki
Messages postés
53
Date d'inscription
dimanche 23 mars 2014
Statut
Membre
Dernière intervention
10 mars 2017
-
18 avril 2016 à 19:11
Dalfab Messages postés 703 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 1 mars 2023 - 18 avril 2016 à 21:26
Dalfab Messages postés 703 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 1 mars 2023 - 18 avril 2016 à 21:26
1 réponse
Dalfab
Messages postés
703
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
1 mars 2023
100
18 avril 2016 à 21:26
18 avril 2016 à 21:26
Bonjour,
Le problème doit venir du fait que tes fonctions ne sont pas indiquée const, du coup l'operateur qui reçoit une const reference ne peut pas appeler les fonctions.
Le problème doit venir du fait que tes fonctions ne sont pas indiquée const, du coup l'operateur qui reçoit une const reference ne peut pas appeler les fonctions.
std::string getName() const;
std::string getType() const;
Owner getOwner() const;
// et l'opérateur peut fonctionner sur n'importe quel animal, il n'a pas à être réécrit pour chacun
std::ostream& operator<<(std::ostream &os, const Animal& p)
{
os << p.getName()<< " is a " << p.getType() << " his owner is " << p.getOwner() << std::endl;
return os;
}