Bonjour à tous.
Je développe actuellement un projet basé sur QT.
J'utilise le pointeur intelligent QExplicitlySharedDataPointer.
Afin d'améliorer la lisibilité, je souhaite définir un type pour chacun de mes objets avec typedef.
Plutôt que d'utiliser QExplicitlySharedDataPointer<Objet>, je préfèrerai utiliser Objet::pointor.
Jusqu'à présent, ça marchait, sauf au moment où j'ai deux entêtes qui s'appellent mutuellement et qui définissent tous les deux un "pointor".
Voici mes deux classes, chacune définis dans un fichier à part :
Le fichier note.h
et voici mon fichier tablenote.h
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 #ifndef NOTE_H #define NOTE_H #include "tablenote.h" class Note { public: typedef QExplicitlySharedDataPointer<Note> Pointor; private TableNote::pointor table; } #endif
J'ai bien compris le problème, l'un de mes "pointor" n'est pas encore défini quand je défini l'entête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #ifndef TABLENOTE_H #define TABLENOTE_H #include "Table.h" class TableNote { public: typedef QExplicitlySharedDataPointer<TableNote> pointor; Note::pointor createNote(); } #endif
Mais que faire pour avoir une écriture facile à lire ?
Je pourrais bien sûr définir dans un fichier à part des TableNotePointor et NotePointor mais je préfère l'ecriture TableNote::pointor et Note::pointor.
auriez-vous des conseils / astuces à me donner ?
Merci d'avance à tous ceux qui prendront la peine de lire mon message et un plus grand merci à ceux qui essaieront d'y répondre.
Bonne journée à tous !
Partager