Bonjour à tous !

Je suis néophyte sous C++, ainsi je suis confronté à un certains nombres de problème, probablement triviaux.
Aujourd'hui, j'ai des problèmes pour concevoir un constructeur de copie.
Voici mon code:
Code : 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
 
class arbre {
public:
	explicit
	arbre( int valeur );
	~arbre();
	arbre(arbre & a);
[Mes méthodes : hauteur(), new_gauche( arbre_binaire * nouveau_gauche );, gauche(), droite()...]
 
private:
	int valeur_;
	arbre * gauche;
	arbre * droite;
 
arbre::arbre(arbre & a){
	gauche_= a.gauche;
	droit_ =a.droite;
	valeur_= a.valeur;
}
Pour le constructeur de copie, je pensais faire très simplement le code ci-dessus, mais celui-ci ne marche pas. Je sens que je manque toute la profondeur de l'arbre avec celui-ci ? Et imagine donc un appel récursif du type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
arbre_binaire::arbre_binaire(arbre_binaire & a){
	gauche_= arbre_binaire( a.gauche_);
	droit_ = arbre_binaire( a.droit_);
	valeur_= a.valeur_;
	++nombre_instances_;
}
Néanmoins cela ne compile pas, problème de type pointeur/ non-pointeur, mais je ne m'en sors pas trop.

Si jamais vous pouvez m'aider, je vous remercie d'avance!

Bonne journée,
Giopi