#include <iostream>
using namespace std;
class CPolygon {
protected:
int width, height;
public:
virtual int area ()
{ return (0); }
};
class CRectangle: public CPolygon {
public:
int area () { return (width * height); }
};
A un avertissement de compilation
Class '[C@1a9e0f7' has virtual method 'area' but non-virtual destructor
Comment comprendre cet avertissement et comment améliorer le code ?
[EDIT] cette version est-elle correcte maintenant ? (Essayer de donner une réponse pour m'élucider avec le concept)
#include <iostream>
using namespace std;
class CPolygon {
protected:
int width, height;
public:
virtual ~CPolygon(){};
virtual int area ()
{ return (0); }
};
class CRectangle: public CPolygon {
public:
int area () { return (width * height); }
~CRectangle(){}
};