在Eclipse CDT中,我遇到了“类'Polygon'具有虚方法'area'但非虚析构函数”的错误。为什么会这样?以下是代码片段:
头文件:
头文件:
class Shape {
public:
virtual ~Shape();
protected:
virtual double area() const = 0;
}
class Polygon : public Shape {
public:
~Polygon();
protected:
double area() const;
private:
Vertex* vertices;
}
实现:
Polygon::~Polygon() {delete[] this->vertices;}
double Polygon::area() const {
...
return areaSum;
}