[OCaml] Add a class example

It is based on the Python class example. The Makefile is based on the
Makefile used in the OCaml shapes example.
This commit is contained in:
Zackery Spytz 2019-01-11 17:53:38 -07:00
commit 96c5a95878
6 changed files with 164 additions and 4 deletions

View file

@ -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();
};