/* File : example.h */ | |
class Shape | |
{ | |
public: | |
Shape() { nshapes++; } | |
virtual ~Shape() { nshapes--; }; | |
double x, y; | |
void move(double dx, double dy); | |
virtual double area(void) = 0; | |
virtual double perimeter(void) = 0; | |
static int nshapes; | |
}; | |
class Circle : public Shape | |
{ | |
private: | |
double radius; | |
public: | |
Circle(double r) | |
: radius(r){}; | |
virtual double area(void); | |
virtual double perimeter(void); | |
}; | |
class Square : public Shape | |
{ | |
private: | |
double width; | |
public: | |
Square(double w) | |
: width(w){}; | |
virtual double area(void); | |
virtual double perimeter(void); | |
}; |