Bon enfaite je suis entrain d'essayer l'amitié car j'aimerais partager des valeurs entre deux classes ...

il s'agit d'une classe typique comme celle représentant un élève et d'un module d'affichage (wxPanel) pour configurer la classe Eleve:

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
20
21
22
23
24
25
26
27
28
29
30
31
32
 
class Eleve {
public:
Eleve(int ID, string nom, string prenom)
 
private:
   int ID;
   string nom;
   string prenom
 
}
 
 
class PanelEleve : public wxPanel {
 
public:
PanelEleve(wxWindow *parent);
friend FillAndDraw(Eleve *eleve)
 
}
 
 
PanelEleve::PanelEleve(wxWindow *parent): wxPanel(parent)
{
}
 
PanelEleve::FillAndDraw(Eleve *eleve) {
 
CtrlText *t1 = new CtrlText(this, &(eleve.nom));
CtrlText *t2 = new CtrlText(this, &(eleve.prenom));
 
}

Théoriquement en faisant ce genre de manip, je peux modifier de façon graphique et momentané les valeur prénom et noms.
Mais sinon durant tout l'exécution du programme j'ai juste la classe Eleve qui est indépendante de la partie graphique.

Cependant ça ne compile pas car il me dit que eleve.nom et eleve.prenom est private alors que j'ai pourtant utiliser le mots-clef friend