Bonjour tout le monde,
Je débute en C++.
J'ai créé un fichier .h dans lequel j'ai des classes.
Dans le main, j'essaie de créer un objet de type CTabTriangles (qui est une des classes) et j'obtiens ces messages d'erreur :
Voici le code de mon fichier .h :error LNK2001: unresolved external symbol "public: __thiscall CTabRectangles::~CTabRectangles(void)" (??1CTabRectangles@@QAE@XZ)
principal.obj : error LNK2001: unresolved external symbol "public: __thiscall CTabRectangles::CTabRectangles(void)" (??0CTabRectangles@@QAE@XZ)
Debug/Geometrie.exe : fatal error LNK1120: 2 unresolved externals
et voici le code de mon fichier principal (main) :
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119 #ifndef GEO_H #define GEO_H #include "chaine.h" class CRectangle //un rectangle { public: CRectangle(); //Constructeur par défaut ~CRectangle(); //Destructeur bool DefinirNom(const char* UnNom); //Modificateur du membre m_Nom bool DefinirLongueur(double UneLongueur); //Modificateur du membre m_Longueur bool DefinirLargeur(double UneLargeur); //Modificateur du membre m_Largeur const char* Nom() const; //Accesseur du membre m_Nom (le this pointe sur un objet constant) const double Longueur() const; //Accesseur du membre m_Longueur (le this pointe sur un objet constant) const double Largeur() const; //Accesseur du membre m_Nom (le this pointe sur un objet constant) private: CChaine m_Nom; //Membre contenant l'adresse d'une chaîne de caractères allouée dynamiquement et contenant le nom du rectangle (chaîne non vide) double m_Longueur; double m_Largeur; }; class CCercle //un cercle { public: CCercle(); //Constructeur par défaut ~CCercle(); //Destructeur par défaut bool DefinirNom(const char* UnNom); //Modificateur de m_Nom (pour le cercle) bool DefinirRayon(double UnRayon); //Modificateur de m_Rayon const char* Nom() const; //Accesseur du membre m_Nom (this pointe sur une constante) const double Rayon() const; //Accesseur du membre m_Rayon (this pointe sur une constante) private: CChaine m_Nom; double m_Rayon; }; class CTriangle //un triangle { public: CTriangle(); ~CTriangle(); bool DefinirNom(const char* UnNom); bool DefinirBase(double UneBase); bool DefinirHauteur(double UneHauteur); const char* Nom() const; const double Base() const; const double Hauteur() const; private: CChaine m_Triangle; //Membre contenant l'adresse d'une chaine de caractère allouée dynamiquement et contenant le nom du rectangle double m_Base; double m_Hauteur; }; class CTabRectangles { public: CTabRectangles(); ~CTabRectangles(); bool Charger(const char* NomFichier); void Vider(); private: long m_Nombre; CRectangle** m_Tableau; }; class CTabCercles { public: CTabCercles(); ~CTabCercles(); bool Charger(const char* NomFichier); void Vider(); private: long m_Nombre; CCercle** m_Tableau; }; class CTabTriangles { public: CTabTriangles(); ~CTabTriangles(); bool Charger(const char* NomFichier); void Vider(); private: long m_Nombre; CTriangle** m_Tableau; }; #endif//GEO_H
Merci d'avance pour votre aide et bon Dimanche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include <BasicConsole.h> #include "geo.h" #include "chaine.h" int main() { CTabRectangles Rectangles; return 0; }
beegees
Partager