2010-09-17 5 views
1

Je suis complètement confus quant à la manière appropriée de mettre en page un projet C++.Mise en page du projet C++

J'avais toutes mes classes dans des fichiers .cpp séparés, avec leurs définitions dans les fichiers .h. J'ai alors eu un "header.h" qui contenait tous les en-têtes de classe, les dépendances externes et quelques autres choses. Mais je n'étais pas capable d'utiliser les noms de classe dans les fichiers d'en-tête, où je devais déclarer un pointeur sur un.

Quelqu'un peut-il expliquer la bonne mise en page orientée objet pour un projet C++?

Répondre

3

Vous pouvez résoudre le problème « n'a pas été en mesure dans les fichiers d'en-tête, où je devais utiliser les noms de classe déclarer un pointeur vers un » en utilisant forward class declarations, comme:

class myClass; 

Cependant, ayant tous class inclut un en-tête.h qui inclut alors chaque classe est trop. Au lieu de cela, vous devriez demander à chaque classe d'inclure uniquement les classes et les dépendances externes dont elle a réellement besoin.

+0

Bon point, bien que (pas clair à la question), vous pourriez décider d'avoir 1 en-tête externe à votre module qui pourrait être inclus par les modules dépendants. – stefaanv

+0

C'est précisément ce que je faisais mal, merci pour la réponse rapide. Je vais accepter bientôt si personne ne propose une meilleure réponse. –