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 :

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
Voici le code de mon fichier .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
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
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
#include <BasicConsole.h>
#include "geo.h"
#include "chaine.h"
 
 
int main()
{
 
	CTabRectangles	Rectangles;
 
	return 0;
}
Merci d'avance pour votre aide et bon Dimanche.

beegees