Bonjour, et deja merci de venir voir a quoi ressemble mon probleme !!
Je dois faire un programme en C++ pour mon examen, j'ai commencé, mais la je suis calé... Mais dans un de mes fichiers, j ai un soucis lors de la compilation, il me lache ces quelques erreurs :
Messages d'erreur
[Link error] undefined reference to 'vtable for Represent'
[Link error] undefined reference to 'Date:ate()'
[Link error] undefined reference to 'Spectacle::Spectacle()'
[Link error] undefined reference to ''vtable for Represent()
[Link error] undefined reference to 'Date:ate()'
[Link error] undefined reference to 'Spectacle::Spectacle()'
Id returned 1 exit status
(C'est à la compilation de repesent.cpp qu'il m'affiche ces sympathiques petites messages..)
Voila, je vous avoue que je ne suis pas très doué en C++ non plus
Je vais vous mettre mon code histoire que ce soit plus comprehensible peut etre...
D'avance merci à vous tous !! =) (en esperant que ca soitcomprehensible.. :s)
spectacle.cpp
spectacle.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 #include <iostream> // Required for stream output (cout). #include <string> #include "spectacle.h" using namespace std; int main() { Spectacle* sp = new Spectacle(new string("Castafiore"),new string("Un con"),new string("Une merde")); sp->print(); sp->setTitre(new string("kaka")); sp->print(); exit(0); } Spectacle::Spectacle(string *_titre, string *_auteur, string *_type) { titre = *_titre; auteur = *_auteur; type = *_type; } Spectacle::Spectacle() { titre = *new string("Non défini"); auteur = *new string("Non défini"); type = *new string("Non défini"); } void Spectacle::print() { cout << "\n"; cout << "***************************************" << "\n"; cout << "\tSpectacle :" << "\n"; cout << "Titre :\t" << this->getTitre() << "\n"; cout << "Auteur :\t" << this->getAuteur() << "\n"; cout << "Type :\t" << this->getType() << "\n"; cout << "***************************************" << "\n"; } string Spectacle::getTitre() {return titre;} string Spectacle::getAuteur() {return auteur;} string Spectacle::getType() {return type;} void Spectacle::setTitre(string *_t) {titre = *_t;} void Spectacle::setAuteur(string *_a) {auteur = *_a;} void Spectacle::setType(string *_t) {type = *_t;}
date.cpp
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 using namespace std; class Spectacle { string titre; string auteur; string type; public: Spectacle(); Spectacle(string *titre,string *auteur,string *type); virtual string getTitre(); virtual string getAuteur(); virtual string getType(); virtual void setTitre(string *_t); virtual void setAuteur(string *_a); virtual void setType(string *_t); virtual void print(); };
date.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 #include <iostream> // Required for stream output (cout). #include <string> #include "date.h" using namespace std; int main() { Date* dt = new Date(1, 10, 2008, 13, 37); dt->print(); dt->setJour(1); dt->print(); exit(0); } Date::Date(int _jour, int _mois, int _annee, int _heure, int _minutes) { jour = _jour; mois = _mois; annee = _annee; heure = _heure; minutes = _minutes; } Date::Date() { jour = -1; mois = -1; annee = -1; heure = -1; minutes = -1; } void Date::print() { cout << "\n"; cout << "***************************************" << "\n"; cout << "\tDate :" << "\n"; cout << this->toString() << "\n"; cout << "***************************************" << "\n"; } string Date::toString() { char buffer [50]; string dateStr; sprintf(buffer,"%d/%d/%d a %d:%d",this->getJour(),this->getMois(),this->getAnnee(),this->getHeure(),this->getMinutes()); return buffer; } int Date::getJour() {return jour;} int Date::getMois() {return mois;} int Date::getAnnee() {return annee;} int Date::getHeure() {return heure;} int Date::getMinutes() {return minutes;} void Date::setJour(int _j) {jour = _j;} void Date::setMois(int _m) {mois = _m;} void Date::setAnnee(int _a) {annee = _a;} void Date::setHeure(int _h) {heure = _h;} void Date::setMinutes(int _m) {minutes = _m;}
represent.cpp
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 using namespace std; class Date { int jour; int mois; int annee; int heure; int minutes; public: Date(); Date(int jour, int mois, int annee, int heure, int minutes); virtual int getJour(); virtual int getMois(); virtual int getAnnee(); virtual int getHeure(); virtual int getMinutes(); virtual string toString(); virtual void setJour(int _j); virtual void setMois(int _m); virtual void setAnnee(int _a); virtual void setHeure(int _h); virtual void setMinutes(int _m); virtual void print(); };
Represent.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 #include <iostream> // Required for stream output (cout). #include <string> #include "represent.h" using namespace std; int main() { Represent* rp = new Represent(); exit(0); } Represent::Represent() { this->dt = new Date(); this->sp = new Spectacle(); } void Represent::print() { }
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 using namespace std; #include "date.h" #include "spectacle.h" class Represent { Date* dt; Spectacle* sp; public: Represent(); virtual Date* getDate(); virtual Spectacle* getSpectacle(); virtual void print(); };
Partager