| /* 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); |
| }; |