Organisation des .h et .cpp
Bonjour
Je débute en C++ alors je ne sais pas si c'est la bonne manière de faire les choses. Je voudrais créer un .h pour chaque classe, Complex et Matrix. J'ai donc deux fichiers :
complex.h et matrix.h . Ensuite, j'ai le contenu des méthodes de chacune des classes dans deux fichiers : complex.cpp et matrix.cpp
Le problème, c'est que ma classe Matrix contient un attribut de type Complex. Et là, ça plante. En clair, dans mon fichier Matrix.h, j'ai quelque chose comme ça:
Code:
1 2 3 4 5 6
| class Matrix
{
typedef Complex *line_t ; // LIGNE 12
line_t *lines ; // LIGNE 13
// ...
} |
Je programme avec Visual C++ Pro 2005. Et l'erreur à la compilation est :
Citation:
1>matrix.cpp
matrix.h(12) : error C2143: syntax error : missing ';' before '*'
matrix.h(12) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
matrix.h(12) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
matrix.h(13) : error C2143: syntax error : missing ';' before '*'
matrix.h(13) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
matrix.h(13) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>main.cpp
Si au début de Matrix.h , je fais :
Code:
#include "complex.h"
j'ai d'autres erreurs, notamment une redéfinition de ma classe... puisque j'inclus complex.h dans complex.cpp.
Bref, je ne vois pas comment faire. Une solution serait de mettre la définition des deux classes dans un même entête .h mais je préfère un fichier par classe.
Nas'