Bonjour à tous.
Bien qu'experimenté en C et en POO, je suis novice en C++ et j'ai un projet d'IHM à effectuer en C++, sous QtCreator.
Je suis actuellement entrain de mettre en place la partie fonctionnelle du projet, mais je rencontre une erreur que je n'arrive pas à fixer depuis un moment.
Il s'agit d'un problème d'héritage de constructeurs vraisemblablement.
banquier.h :
Code cpp : 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 #ifndef BANQUIER_H #define BANQUIER_H #include "vente.h" #include <vector> class Banquier { private: unsigned int id; char * nom; public: Banquier(); Banquier(unsigned int id, char*nom); unsigned int getId(); char * getNom(); void setId(unsigned int id); void setNom(char * nom); }; class Employe : public Banquier { public: std::vector<vente> ventes; Employe(unsigned int id, char*nom); std::vector<vente> * getVentes(); }; class Directeur : public Banquier { public: Directeur(); Directeur(unsigned int id, char*nom); }; class DirecteurGeneral : public Banquier { public: DirecteurGeneral(unsigned int id, char*nom); }; #endif // BANQUIER_H
banquier.cpp:
Code cpp : 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 #include <string.h> #include "banquier.h" #include "vente.h" // Banquier Banquier::Banquier(unsigned int id, char*nom) { this->id=id; strcpy(this->nom,nom); } unsigned int Banquier::getId(){ return this->id; } char * Banquier::getNom(){ return this->nom; } void Banquier::setId(unsigned int id){ this->id=id; } void Banquier::setNom(char * nom){ this->nom=nom; } //Employé Employe::Employe(unsigned int id, char * nom) { this->setId(id); this->setNom(nom); } std::vector<vente> * Employe::getVentes(){ return &this->ventes; } // Directeur Directeur::Directeur(unsigned int id, char*nom) { this->setId(id); this->setNom(nom); } // Directeur général DirecteurGeneral::DirecteurGeneral(unsigned int id, char*nom) { this->setId(id); this->setNom(nom); }
À la compilation, j'obtiens une erreur au niveau du constructeur de Employe, Directeur et DirecteurGenera, dans le fichier .cpp, me disant : "Undefined reference to Banquier::Banquier()".
Je vous remercie par avance pour votre aide !
Partager