2013-04-14 3 views
0

J'ai le fichier main.cpp, une classe de base (en-tête et fichier .cpp pour celui-ci), et deux classes dérivées (également avec leurs en-têtes et fichiers .cpp).Structure de dossier - bonne pratique

Existe-t-il un moyen de créer une structure de dossiers en C++?

En PHP je créerais main.cpp dans la racine, un dossier appelé « Base_Class », l'en-tête de la base et mettre Cpp là, et à l'intérieur de ce dossier, je voudrais créer des sous-dossiers séparés pour les classes dérivées.

+0

Tout ce qui fonctionne! BTW possède un répertoire séparé pour les tests unitaires. –

+0

Je ne sais pas ce que sont les downvotes pour. En PHP, il y avait des structures de dossiers spécifiques comme PSR-0 etc, j'étais curieux de savoir s'il y avait quelque chose comme ça dans C. – user2252786

+2

Je suis d'accord avec vous. Je ne comprends pas les -1. C'est une question légitime. – ApplePie

Répondre

1

Pour des projets très simples, comme le vôtre, mettre tout dans un seul dossier est correct. Si vous obtenez plus de fichiers qui ne sont pas des sources ou des en-têtes, il peut être judicieux de placer les sources (avec les en-têtes) dans un dossier distinct, par exemple. documents dans un dossier séparé, etc Lorsque vous commencez à obtenir de nombreux fichiers source, ou si vous trouvez qu'il peut être bien découpé en modules, puis un dossier par module dans le dossier source ..

Au moins c'est à propos de la façon I le faire. Comment vous devrait le faire est totalement à vous. Il n'y a vraiment pas de «meilleure pratique», tout dépend de vos préférences personnelles.

2

Voici quelques entrées de moi

lib/ (*.cpp .h) 
include/ (class definitions *.h) <- Third party lib 
prototype/ (quick tests) 
doc/ (documentation,ppt) 
unittest/unittest result project files 
utility/utility library 
Release/release binaries of project 
Automation/Any automation scripts 
0

Pour les petits projets (comme la vôtre), vous pouvez simplement mettre tout seul dossier. Ou vous pouvez mettre .cpp fichiers dans le dossier src et .h dans le dossier include. Encore une fois c'est pour un petit projet seulement.