Problème de lien lors de la création d'un objet
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 :
Citation:
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:
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:
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