Bonjour le forum, svp comment définir la méthode toString en C++. ?
J'ai créé une classe étudiant et je veux mettre les exemples d'étudiants saisie dans le programme pour les afficher, comment procéder ?
Merci beaucoup d'avance
Bonjour le forum, svp comment définir la méthode toString en C++. ?
J'ai créé une classe étudiant et je veux mettre les exemples d'étudiants saisie dans le programme pour les afficher, comment procéder ?
Merci beaucoup d'avance
Bonjour,
En C++, on va plutôt définir l'opérateur de sortie dans un flux sachant que std::cout est un flux.
Le code correspondant ressemblera à ceci :
On pourra s'appuyer sur cet opérateur quand on aura vraiment besoin d'une conversion en chaîne de caractères :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 std::ostream& operator << ( std::ostream& s, const Etudiant& etudiant ){ s << etudiant.prenom << " " << etudiant.nom ; return s; }
... mais pour des sorties dans la console, on n'aura pas besoin de ce to_string. On aura par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 std::string to_string( const Etudiant& etudiant ){ // flux de sortie dans une chaîne de caractère std::ostringstream oss; oss << etudiant; return oss.str(); }
En espérant que ça vous aide,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int main(int argc, char *argv[]) { Etudiant etudiant1{"DOE","John"}; Etudiant etudiant2{"MICHU","Jacques"}; // utilisation de l'opérateur de sortie dans le flux standard std::cout << "1 : " << etudiant1 << std::endl; // ci-dessous, on passe innutilement par une chaîne intermédiaire std::cout << "2 : " << to_string(etudiant2) << std::endl; return 0; }
PS : Au cas où, pour les entêtes à inclure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // std::cout #include <iostream> // std::ostringstream, std::ostream #include <sstream>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager