Bonjour, en ce moment je fais un projet et j'ai un warning qui est un peu énervant. J'ai une fonction afficher() qui est présente dans plusieurs classes, pour que la bonne classe accède à sa fonction afficher() je rajoute "virtual" devant la fonction dans mes fichiers .h dans les classes mères.
lors de la compilation sans option aucune erreur pas de warning maintenant je rajoute ces options : -Wall -W -pedantic-errors et là j'ai ce message :
ma classe cercle :'class cercle' has virtual functions but non-virtual destructor
je comprends bien l'erreur mais je n'arrive pas a la supprimer est ce que vous pouvez me dire ou je dois placer ce destructeur virtuel et ce que je dois mettre dedans.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class cercle : public composant { public: cercle(const string &s, const point &p, const float &rayon = 0); void placer(const point &p, const float &rayon = 0); virtual void afficher()const; //cercle est aussi une classe mère et une fonction afficher() est défini dans sa classe mère float getr()const; void translation(const point &p); protected: float rayon; };
Partager