Bonsoir,
Je souhaites passer en paramètre à une classe l'adresse de la classe créatrice (pour garder son parent). Les 2 classes sont autonomes.
voici l'exemple :
Dans mon cas, je cherche à passer en paramètre lors le l'instanciation d'une "fourmi" dans ma méthode naissance l'adresse de la fourmilière. En fait comme parent.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 class FOURMI { public: FOURMI(FOURMILIERE pointeur) { _sleep(1); QTime time=QTime::currentTime(); id=QTime().msecsTo(time); } int getId() { return id; } private: int id; }; class FOURMILIERE { public: FOURMILIERE() { liste_fourmis=NULL; compteur=0; } void naissance() { ELEMENT *element=new ELEMENT; FOURMI *fourmi=new FOURMI(*this); element->fourmi=fourmi; element->next=liste_fourmis; liste_fourmis=element; ++compteur; } void liste() { ELEMENT *temp=liste_fourmis; while (temp!=NULL) { qDebug()<<temp->fourmi->getId(); temp=temp->next; } } int count() { return compteur; } class ELEMENT { public: FOURMI *fourmi; ELEMENT *next; }; ELEMENT *liste_fourmis; int compteur; };
Ça fonctionne si j'enlève le *this de la ligne FOURMI *fourmi=new FOURMI(*this); et que je ne mets pas de paramètre dans mon constructeur.
Mes deux classes sont autonomes, et je souhaites laisser cela comme cela.
Je précise que je ne suis pas développeur de métier.
Merci pour votre aide.
Partager