Bonjour,
J'aimerais savoir s'il est possible en C++ de faire quelque chose d'équivalent à la fonction toString() en Java.
En Java, lorsqu'un objet est additionné à une String, la fonction toString de l'objet est automatiquement appelée et la String reçue concaténée à la première String.
Exemple :
Code de la classe Personne : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public class Personne { private String nom, prenom; public Personne(String nom, String prenom) { this.nom = nom; this.prenom = prenom; } public String getNom() { return nom; } public String getPrenom() { return prenom; } public String toString(){ return this.nom + " " + this.prenom; } }
Code de la classe Main : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class Main { public static void main(String[] args) { Personne p = new Personne("Simpson", "Homer"); //initialisation de personne System.out.println(p); // affichage de la personne String s = "Il s'appelle : " + p; //concaténation System.out.println(s); // affichage de la chaine concaténée } }
Cela affichera "Il s'appelle : Simpson Homer"
Est-il possible en C++ d'écrire quelque chose dans la classe Personne qui permette d'écrire dans les autres classes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 cout << p // affichage de la personne String s = "Il s'appelle : "+ p; //concaténation cout << s // affichage de la chaine concaténée
Partager