40 lines
611 B
C
40 lines
611 B
C
|
/* 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);
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|