bonjours lors de l compilation j'ai cette erreur :undefined reference to vtable

Je croit que cela pourrait provenir d'un objet non instancier ???

voici le code de la classe d'ou provient l'erreur:

.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
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
 
#include "piece.h"
#include <QLabel>
 
//constructeur
Piece::Piece(int dX, int dY, int pX, int pY) : deplacementX(dX),deplacementY(dY),positionX(pX),positionY(pY)
{
}
 
//constructeur de copie
Piece::Piece(const Piece& p):deplacementX(p.getDeplacementX()),deplacementY(p.getDeplacementY()),positionX(p.getPositionX()),positionY(p.getPositionY())
{
}
 
//operateur = redéfinition
Piece& Piece::operator =(const Piece& p)
{
    if(&p != this)
    {
        deplacementX = p.getDeplacementX();
        deplacementY = p.getDeplacementY();
 
        positionX = p.getPositionX();
        positionY = p.getPositionY();
    }
    return *this;
}
int Piece::getDeplacementX()const
{
    return this->deplacementX;
}
 
int Piece::getDeplacementY()const
{
    return this->deplacementY;
}
 
int Piece::getPositionX()const
{
    return this->positionX;
}
int Piece::getPositionY()const
{
    return this->positionY;
}
 
void Piece::setPositionX(int pX)
{
    this->positionX = pX;
}
void Piece::setPositionY(int pY)
{
    this->positionY = pY;
}
 
void Piece::deplacement(int,int)
{
}
.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
 
#ifndef PIECE_H
#define PIECE_H
 
#include <QLabel>
 
class Piece : public QLabel
{
    Q_OBJECT
 
    private :
        int deplacementX;//deplacement horizontal de la piece
        int deplacementY;//deplacement vertical de la piece
        int positionX;//position sur label de coordonnee X
        int positionY;//position sur label de coordonnee Y
 
    public:
        Piece(int,int,int,int);
        Piece(const Piece&);
        Piece& operator=(const Piece&);
 
 
        int getDeplacementX()const;
        int getDeplacementY()const;
 
        int getPositionX()const;
        int getPositionY()const;
        void setPositionX(int);
        void setPositionY(int);
 
        virtual void deplacement(int ,int)=0;
 
 
 
};
 
#endif // PIECE_H