Bonjour à tous !
Je ne suis pas vraiment expert en C++... Mais je dois utiliser la fonction const_cast. Voila mon programme :
Mon fichier card.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 #ifndef card_h #define card_h #include <string> /********************************************************************************************************** Class card **********************************************************************************************************/ class card { public: static const int vote; static int additional_vote; public: card(int add); // QUESTION 12: I need at least one virtual function to make my class "card" polymorphic and be able to use "dynamic_cast" virtual void vf_dynamic_cast(); }; #endif
Fichier card.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 #include <cstdlib> #include <iostream> #include "card.h" using namespace std; const int card::vote = 1; Première question : puis-je caster "additional_vote" de cette manière ? int card::additional_vote = 0; Ensuite, mon problème se situe dans cette méthode. J'ai essayé 36000 écritures différentes... Celle qui d'après moi aurait été la meilleure est la suivante : card::card(int add) { int& test = *const_cast<int*>(&this->vote); this->additional_vote = test + add; } void card::vf_dynamic_cast() { // Does not do anything }
Je récupère une série de messages d'erreurs :
Bref, je ne sais pas si j'ai été très clair... J'ai essayé de rendre mon problème le plus lisible possible.[Linker error] undefined reference to `card::card()'
Excusez moi de la forme, si celle-ci n'est pas adaptée.
Est-ce que quelqu'un saurait m'aider ?
Si vous avez des questions, je reste disponible.
Merci beaucoup pour toute implication, quelle qu'elle soit, par avance !
Kimy from Ireland.
Partager