[Lieur Erreur] Unresolved external Vehicule::~Vehicule()

_gwada_ Messages postés 5 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 11 juin 2004 - 4 juin 2004 à 18:45
razily Messages postés 250 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 4 décembre 2013 - 14 mars 2010 à 01:41
Je comprend plus rien et ce c++ commence a me rendre chevre.... :x

j'ai editer mes class avec ClassBuilder puis generer le code depuis.
sans rien toucher je compile le projet sans probleme.
Pour effectuer un teste j'ai inclu ds le main une instance de class et la 3 erreur de ce type.

[Lieur Erreur] Unresolved external 'Vehicule::~Vehicule()' referenced from C:\DOCUMENTS AND SETTINGS\TITOU\BUREAU\C++ 1.0\MAIN.OBJ

[Lieur Erreur] Unresolved external 'Vehicule::Vehicule(char *, int)' referenced from C:\DOCUMENTS AND SETTINGS\TITOU\BUREAU\C++ 1.0\MAIN.OBJ

[Lieur Erreur] Unresolved external 'Vehicule::getNbKmActuel()' referenced from C:\DOCUMENTS AND SETTINGS\TITOU\BUREAU\C++ 1.0\MAIN.OBJ

voila la partie de code concerner :
*******
* main *
*******
//---------------------------------------------------------------------------
#include
#include <conio.h>
#include <stdio.h>

#include "Exemple.h"

main ()
{

Vehicule V1("CHAWW34",10024);
cout << " Le Km est de : " << V1.getNbKmActuel() << endl;
getch ();
}

********************************************************
Le .h
********************************************************
/*******************************************************************************
* File: Vehicule.h
* Creation date: June 04, 2004 15:03
* Author: ClassBuilder
* XXXX
* Purpose: Declaration of class 'Vehicule'
*
* Modifications: @INSERT_MODIFICATIONS(* )
* June 04, 2004 15:09 Leon-Hans
* Updated return type of method 'getUnEntretien'
* June 04, 2004 15:03 toto
* Added method 'DestructorInclude'
* Added method 'ConstructorInclude'
* Added method 'getUnEntretien'
* Added method 'getNbKmActuel'
* Added method 'getNbEntretiens'
* Added method 'ajouteEntretien'
* Added method '~Vehicule'
* Added method 'Vehicule'
* Added member 'nbKmActuel'
* Added member 'numImma'
*
* Copyright 2004, XXXXX
* All rights are reserved. Reproduction in whole or part is prohibited
* without the written consent of the copyright owner.
*
\******************************************************************************/
#ifndef _VEHICULE_H
#define _VEHICULE_H

//@START_USER1
//@END_USER1

class Vehicule
{

//@START_USER2
//@END_USER2

//
// Group: ClassBuilder methods
//

private:
void ConstructorInclude();
void DestructorInclude();

//
// Non-Grouped Members
//

private:
char numImma[10];
int nbKmActuel;

//
// Non-Grouped Methods
//

public:
Vehicule(char numImma_[10], int nbKmActuel_);
virtual ~Vehicule();
void ajouteEntretien();
int getNbEntretiens();
int getNbKmActuel();
Entretien getUnEntretien();
};

#endif

#ifdef CB_INLINES
#ifndef _VEHICULE_H_INLINES
#define _VEHICULE_H_INLINES

//@START_USER3
//@END_USER3

#endif
#endif

********************************************************
Le .cpp
********************************************************

/*******************************************************************************
* File: Vehicule.cpp
* Creation date: June 04, 2004 15:03
* Author: ClassBuilder
* XXXX
* Purpose: Method implementations of class 'Vehicule'
*
* Modifications: @INSERT_MODIFICATIONS(* )
* June 04, 2004 15:09 Leon-Hans
* Updated code of method 'getUnEntretien'
* Updated return type of method 'getUnEntretien'
* June 04, 2004 15:03 toto
* Added method 'DestructorInclude'
* Added method 'ConstructorInclude'
* Added method 'getUnEntretien'
* Added method 'getNbKmActuel'
* Added method 'getNbEntretiens'
* Added method 'ajouteEntretien'
* Added method '~Vehicule'
* Added method 'Vehicule'
* Added member 'nbKmActuel'
* Added member 'numImma'
*
* Copyright 2004, XXXXX
* All rights are reserved. Reproduction in whole or part is prohibited
* without the written consent of the copyright owner.
*
\******************************************************************************/
//@START_USER1
//@END_USER1

// Master include file
#include "Exemple.h"

//@START_USER2
//@END_USER2

/*@NOTE_48
Constructor method.
*/
Vehicule::Vehicule(char numImma_[10], int nbKmActuel_) //@INIT_48
/*: numImma(numImma_)
, nbKmActuel(nbKmActuel_) */
{//@CODE_48
//ConstructorInclude();
strcpy(numImma,numImma_);
nbKmActuel=nbKmActuel_;
// Put in your own code
}//@CODE_48

/*@NOTE_38
Destructor method.
*/
Vehicule::~Vehicule()
{//@CODE_38
DestructorInclude();

// Put in your own code
}//@CODE_38

void Vehicule::ajouteEntretien()
{//@CODE_58
}//@CODE_58

int Vehicule::getNbEntretiens()
{//@CODE_56
int value;

return value;
}//@CODE_56

int Vehicule::getNbKmActuel()
{//@CODE_52
int value;

return value;
}//@CODE_52

Entretien Vehicule::getUnEntretien()
{//@CODE_54
Entretien value;

return value;
}//@CODE_54

//{{AFX DO NOT EDIT CODE BELOW THIS LINE !!!

/*@NOTE_39
Method which must be called first in a constructor.
*/
void Vehicule::ConstructorInclude()
{
}

/*@NOTE_40
Method which must be called first in a destructor.
*/
void Vehicule::DestructorInclude()
{
}

// Methods for the relation(s) of the class

//}}AFX DO NOT EDIT CODE ABOVE THIS LINE !!!

//@START_USER3

Si vous arrivée a comprendre d'ou vient cette erreur merci de m'aider.

7 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
4 juin 2004 à 23:42
A priori cela vient du fait que le fichier vehicule.cpp n'est pas intégré au projet lors de l'édition de lien (seul main.cpp y est apparement).
0
_gwada_ Messages postés 5 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 11 juin 2004
5 juin 2004 à 10:41
non car les fichier Exemple.H fait la liasion entre tout les fichier du projet.
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
5 juin 2004 à 11:21
Pas du tout, le fait d'inclure "exemple.h" dans "main.cpp" n'indique en rien le fait d'inclure également "vehicule.cpp" lors de l'édition de lien, à moins que "exemple.h" fasse #include "vehicule.cpp" ce qui n'est pas du tout conseillé comme méthode.

si aucun fichier ne fait #include "vehicule.cpp" ( ce qui normalement doit être le cas) il faut compiler les 2 cpp et les lier ensemble, soit en créant un makefile soit en ajoutant explicitement les 2 fichiers .cpp au projet.
0
_gwada_ Messages postés 5 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 11 juin 2004
5 juin 2004 à 12:19
Je vien de regarder et Exemple.h inclu les autres fichier .h mais pas du tout les cpp, je les rajoute donc dans exemple.h.

Merci du conseil.
une fois les lien .cpp rajouter ds exemple.h j'ai plein d'erreur du type suivant, si une fonction d'une classe x retourne un objet de la classe y, donc voila la nouvelle mission....
Ce que je comprend pas c'est que les logiciel de modelisation uml ne genere pas mieu le code....
Je suis obliget de reopasser derriere et n'etant pas tres forts, c'est pas le top....

Connait tu un logiciel qui focntionne bien pour ecrire le diagrmame uml et generer le code svp....

En tout cas merci beaucoup de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
_gwada_ Messages postés 5 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 11 juin 2004
5 juin 2004 à 12:28
pour les x y pour mieu comprendre
une fct de Vehicule (class x) retourne un entretient(objet) de la class y
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
5 juin 2004 à 22:38
en fait, il faut faire attention à l'ordre d'inclusion des fichiers. le .h de la classe y doit être inclu avant la définition de la class x

par exemple, dans le x.h :

#include "y.h"
class x
{
// utilisation possible de la classe y
};

cependant il y a des cas où on se mord la queue par exemple si la classe x utilise la classe y et vice versa, dans ce cas il faut ajouter une ligne disant que la classe y sera défini plus tard :

x.h devient ;

class y;
class x
{
// utilisation possible de la classe y

};

la classe y pourra être définies après
0
razily Messages postés 250 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 4 décembre 2013
14 mars 2010 à 01:41
juste une quetsion comment génerer un diagramme sous le logiciel classBuilder
0