swig/Examples/modula3/class/example.h
Henning Thielemann 39d92e49b2 added basic Modula-3 support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5776 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-19 11:45:29 +00:00

44 lines
665 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) const = 0;
virtual double perimeter (void) const = 0;
protected:
static int nshapes;
};
class Circle:public Shape
{
private:
double radius;
public:
Circle (double r):radius (r)
{
};
virtual double area (void) const;
virtual double perimeter (void) const;
};
class Square:public Shape
{
private:
double width;
public:
Square (double w):width (w)
{
};
virtual double area (void) const;
virtual double perimeter (void) const;
};