Ik zit wat in de knoei met de structuur van mijn verschillende klassen.
Stel ik heb 3 klassen, klasse 1 roept klasse 2 op en klasse 2 roept op
zijn beurt klasse 3 op. Nu zou ik terug willen keren vanuit klasse 3 weer naar
klasse 1.
Ik zou dit kunnen oplossen door het object van klasse steeds mee te geven en
dan dit object gebruiken om een functie in klasse 1 terug aan te roepen.
Nu vind ik dit nogal een omslachtige manier en bovendien komt VStudio steeds
compileerfouten geven wanneer ik klasse header3 include in klasse1 omdat
in klasse header3 reeds klasse1 include.
Wat is eigenlijk de meest correcte manier om dit te doen ?
Ik heb er even een voorbeeldje bij verzonnen om de vraag wat duidelijker te maken.
Stel ik heb 3 klassen, klasse 1 roept klasse 2 op en klasse 2 roept op
zijn beurt klasse 3 op. Nu zou ik terug willen keren vanuit klasse 3 weer naar
klasse 1.
Ik zou dit kunnen oplossen door het object van klasse steeds mee te geven en
dan dit object gebruiken om een functie in klasse 1 terug aan te roepen.
Nu vind ik dit nogal een omslachtige manier en bovendien komt VStudio steeds
compileerfouten geven wanneer ik klasse header3 include in klasse1 omdat
in klasse header3 reeds klasse1 include.
Wat is eigenlijk de meest correcte manier om dit te doen ?
Ik heb er even een voorbeeldje bij verzonnen om de vraag wat duidelijker te maken.
C++:
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
33
34
35
36
37
38
39
40
41
42
43
44
| class CDriver { public: CCar m_car; void MakeAride() { m_car.Drive(); } void Call911() { ... } }; //---------------------------------- class CCar { CRoad m_road; void Drive() { StartCar(); m_road.CheckRoad(); } }; //-------------------------------- Class CRoad { void CheckRoad() { if (IsProblem()) //Call911() ->> ??? } }; |
[ Voor 5% gewijzigd door jos707 op 13-09-2005 21:43 ]