Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Impossible de créer un objet [ Divers / Débutant(e) ] (daviddubois)

dimanche 9 mars 2008 à 12:44:13 | Impossible de créer un objet

daviddubois

Bonjour tout le monde,

Je débute en C++.

Je suis occupé à créer un programme qui va me permettre de calculer le rayon d'un triangle, la superficie d'un rectange...

J'ai créé une classe pour chaque objet ainsi qu'une classe contenant un tableau de chaque objet.

Quand j'essaie de créer une variable de type rectangle, j'obtiens ce message d'erreur :

Linking...
principal.obj : 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
Error executing link.exe.

Voici le code de mon fichier h :

#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 main :

#include <BasicConsole.h>
#include "geo.h"
#include "chaine.h"


int main()
{

    CTabRectangles    Rectangles;

    return 0;
}

Merci d'avance pour votre aide.



dimanche 9 mars 2008 à 15:21:58 | Re : Impossible de créer un objet

luhtor

Et ton fichier chaine.cpp il est ou ?

dimanche 9 mars 2008 à 15:29:10 | Re : Impossible de créer un objet

daviddubois

Salut Luthor,

J'ai trouvé, j'avais déclaré la fontion (destructeur/constructeur) sans le définir.

S'est donc en ordre.

Merci



Cette discussion est classé dans : const, char, double, bool, membre


Répondre à ce message

Sujets en rapport avec ce message

double --> char[] [ par coockiesch ] Hello.Je cherche à passer un double dans une chaine de caractères. J'au utilisé "sprintf(char[], "%f", double)" mais elle ne revoie pas toutes les déc const char * => char * [ par Xs ] salut !!je galere grave dand beaucoup de mes programmes a causes de quelqes trucs :const char * => char *char * => charchar => char *eventuellement ch Concatenation [ par UnExPeCtEdSpy ] B'jour vousBon c'est tout bête je voudrais concaténer deux chaine de caractére, alors j'essaye avec :char *strcat( char *strDestination, const char *s Crash a l'execution mais non en mode de debuggage [ par cybermatthieu ] La si je roule le programme avec le mode de debugage tout fonctionne a merveille il termine l'execution normalement. Mais si je roule le programme ( s CONVERSION DOUBLE CHAR [ par DeAtHCrAsH ] Salut,J'ai un ptit pb... Je suis debutant et j'ai un ptit prob...Je veux utiliser la fonction atof mais quand je compile ca me dit : undeclared identi MessageBox - Const Char - Concversion ASCII [ par guitoulefoux ] Bonjour,J'ai encore besoin de vos lumieres (et ca sera pas la derniére)1- j'utilise une boucle pour récupérer les actions clavier:if(GetAsyncKeyState( Une classe comme donnée membre [ par agbere ] Bonjour à tous Cela fait bien longtemps que je n'ai plus developpé en C++. Aujourd'hui je suis confronté au problème suivant: Code: /***************** Convertir un const char * en char * [ par Mike ] SAlut,j'aimerais convertir un 'const char *' en 'char *', bizarement aucune libraire ne le fé, ou alors j'ai pas trouvé lol. Donc si vous pouviez m'ai Petit problem avec switch [ par Darkneon ] Salut, Mon but est de faire bouger le curseur a l'ecran avec les fleches et d'afficher une lettre a cette position.J'ai le codde suivant.#include &l RegOpenKeyEx [ par guitoulefoux ] Bonjour,Pourriez vous m'aider a corriger mon erreur.Voici mon bout de code :TCHAR MenDema[1024];[...]HKEY hKey;RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWA


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.