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