diff options
Diffstat (limited to 'Examples/mzscheme/class/example.h')
-rw-r--r-- | Examples/mzscheme/class/example.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Examples/mzscheme/class/example.h b/Examples/mzscheme/class/example.h new file mode 100644 index 000000000..0dff185b2 --- /dev/null +++ b/Examples/mzscheme/class/example.h @@ -0,0 +1,34 @@ +/* File : example.h */ + +class Shape { +public: + Shape() { + nshapes++; + } + virtual ~Shape() { + nshapes--; + } + double x, y; + void move(double dx, double dy); + virtual double area() = 0; + virtual double perimeter() = 0; + static int nshapes; +}; + +class Circle : public Shape { +private: + double radius; +public: + Circle(double r) : radius(r) { } + virtual double area(); + virtual double perimeter(); +}; + +class Square : public Shape { +private: + double width; +public: + Square(double w) : width(w) { } + virtual double area(); + virtual double perimeter(); +}; |