Bonjour,
ca fait un moment que je cherche, mais je n'ai pas reussi a implementer mon bonheur :p
J'ai deux classes, Process qui gere le systeme, et User qui gere l'interface utilisateur.
User demande des saisies au clavier, et les envois a Process pour les gerer. Et Process, lance une methode User puis test l'etat dans lequel est User.
Donc User a besoin de Process.
Je veux pouvoir utiliser les methodes de Process avec User, mais egalement les objets qui composent Process. En gros, j'aimerai
que les deux classes soient "friend".
D'ou l'association.
Voici ce que j'aia vous montrer. J'ai simplifie au maximum (tout public, pas de test ...)
Voila le main
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Ca veut fonctionner de cette maniere, je ne dois donc pas etre loin. Le probleme c'est que mes classes ne "dialogues" que dans un seul sens.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
SI je decommente le //process->add(); dans ad(), erreur de compilation
Vous allez me demander pourquoi je ne regroupe pas les deux classes en une seule ...method `void User::ad()':
invalid use of undefined type `class Process'
forward declaration of `class Process'
cc: /usr/lib/gcc-lib/ntox86/2.95.3/cc1plus error 33
En fait c'est pour un system embarque temps reel. Les deux classes sont des thread, parce que je ne veux pas rester bloque en attendant une entree clavier par l'utilisateur.
Qu'est-ce que j'ai fais d'horrible ??
Une maniere plus elegante (et juste) de faire ?
J'ai beaucoup cherche, mais je n'ai trouve aucun exemple, seulement un template http://www.flipcode.com/archives/A_S...te_for_C.shtml mais j'obtiens la meme erreur.
Merci beaucou pour n'importe quelles pistes ... je n'en dors (presque) plus

 

 
		
		 
         
 

 
			
			


 
   


 Association entre deux classes (partager les methodes)
 Association entre deux classes (partager les methodes)
				 Répondre avec citation
  Répondre avec citation
Partager