Bonjour,
j'ai un probléme d'heritage que je ne comprends pas :
(jutilise la librairie CMU )
Voici ma classe de base :


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
 // objet_graphique.h
 
#ifndef objet_graphique_h
 
#define objet_graphique_h
 
#include "CMUgraphics M.h"
 
 
 
class objet_graphique
 
{
 
public:
 
    objet_graphique(int _x, int _y, window& _pt_fenetre, color _couleur) 
 
        : x(_x),y(_y), pt_fenetre(_pt_fenetre), couleur(_couleur) {}
 
    virtual ~objet_graphique() {} // surchargé dans classes dérivées pour effacer figures
 
 
 
    // deplace un objet p/r à son centre (x,y)  
 
    virtual void deplace(int dx, int dy); 
 
    virtual void affiche() = 0;
 
    virtual void cache() = 0;
 
  int getx() {return x;}
 
  int gety() {return y;}
 
 
 
protected :
 
    int x,y;
 
    window& pt_fenetre;
 
    color couleur;
 
    void calcul_nouvelles_coordonnees(int dx, int dy);
 
};
 
 
 
#endif

ma classe "herité " :

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
 
 
 
#ifndef CERCLE_H
#define CERCLE_H
 
#include "objet_graphique.h"
 
 
class cercle  :public objet_graphique{
public :
 
    cercle(int x, int y, int z ,window& windows,  color couleur )  ;
    ~cercle();
    void     affiche();
    void    expansion(int indice );
    void    contraction(int indice);
protected :
    int rayon;
    int centre_X;
    int centre_Y;
 
 
 
 
};
 
 
 
#endif
et voici mon appel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
cercle* C = new cercle(100,130,50, fenetre, BLUE);
je précise que je n'ai implémenté aucune methode (); ( l'erreur n'est apparemment pas lié a cela du moins je ne pense pas )

De plus apparemment l'erreur vient de l'heritage proprement dis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
  : error C2512: 'objet_graphique' : no appropriate default constructor available
: error C2259: 'cercle' : cannot instantiate abstract class due to following members:
        : see declaration of 'cercle'
 
       : see declaration of 'cache' : error C2259: 'cercle' : cannot instantiate abstract class due to following members:
Merci