IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Définir toString


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Bénin

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Définir toString
    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

  2. #2
    Membre éprouvé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Points : 1 060
    Points
    1 060
    Par défaut
    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 :

    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;
    }
    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
    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();
    }
    ... 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
    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;
    }
    En espérant que ça vous aide,

    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>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/09/2005, 17h18
  2. [prg jeux ]Définir l'intersection de deux rectangles
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 30/07/2003, 18h11
  3. Définir une appli JEE avec JB7 Entreprise
    Par polo54 dans le forum JBuilder
    Réponses: 4
    Dernier message: 10/06/2003, 11h48
  4. [RAVE] Définir un imprimante...
    Par FW-S dans le forum Rave
    Réponses: 2
    Dernier message: 13/03/2003, 15h15
  5. Comment définir le type matrice ?
    Par charly dans le forum Langage
    Réponses: 7
    Dernier message: 15/06/2002, 21h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo