probleme de constructeur lié à l'heritage
Bonjour ,
je ne trouve pas le problème pour ce genre de code :
2 codes identique sauf que qd j'utilise un pointeur il marche et sans allocation dynamique dans main , Visual C++ m'affiche une erreur de ce genre :
Code:
1 2 3
|
1>ProgrammeC.obj : error LNK2001: symbole externe non résolu "public: __thiscall Pion::~Pion(void)" (??1Pion@@QAE@XZ)
1>C:\Users\Documents\Visual Studio 2008\Projects\ProgrammeC\Debug\ProgrammeC.exe : fatal error LNK1120: 1 externes non résolus |
voici le code ce qui change c'est juste dans main la manière de déclarer un objet de type Pion
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
class Pion :public Piece {
public :
Pion();
Pion(int x , int y, int coul , char etiq)
{
Piece(x,y,etiq);
couleur = coul ;
}
~Pion();
bool ValiderDeplacement(int x,int y);
int getCouleur(){return couleur;}
private :
int couleur ;
}; |
quand je fais çà dans main il marche
Code:
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
|
int main (){
Pion* P1 = new Pion (4,4,1,'P');
// Pion P1;
int x = 4 , y =5;
cout << "affichage pion :"<< *P1 << endl ;
cout << "un deplacement vers la case (2,2)" << endl ;
bool resultat = P1->ValiderDeplacement(x,y);
cout << "la validation de deplacement est" << resultat << endl ;
if(resultat==0){
P1->Deplacer(x,y);
cout << "controle validation deplacement " << endl ;
cout << "apres deplacement " << endl ;
cout << "affichage pion :"<< *P1 << endl ;
}
else{
cout << "impossible de se déplacer" << endl ;
}
return 0;
}
<div class="bbcode_container">
<div class="bbcode_description">Code:</div>
<hr /><code class="bbcode_code"> </code><hr />
</div> |
mais quand je change comme çà ; il m'affiche une erreur
Code:
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
|
int main (){
Pion P1 (4,4,1,'P');
// Pion P1;
int x = 4 , y =5;
cout << "affichage pion :"<< P1 << endl ;
cout << "un deplacement vers la case (2,2)" << endl ;
bool resultat = P1.ValiderDeplacement(x,y);
cout << "la validation de deplacement est" << resultat << endl ;
if(resultat==0){
P1.Deplacer(x,y);
cout << "controle validation deplacement " << endl ;
cout << "apres deplacement " << endl ;
cout << "affichage pion :"<< P1 << endl ;
}
else{
cout << "impossible de se déplacer" << endl ;
}
return 0;
} |
Code:
1 2 3
|
1>ProgrammeC.obj : error LNK2001: symbole externe non résolu "public: __thiscall Pion::~Pion(void)" (??1Pion@@QAE@XZ)
1>C:\Users\Documents\Visual Studio 2008\Projects\ProgrammeC\Debug\ProgrammeC.exe : fatal error LNK1120: 1 externes non résolus |
je ne vois pas où est le problème vu que Visual C++ ne m'indique pas la ligne :cry: