git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5776 626c5289-ae23-0410-ae9c-e8d60b6d4f22
44 lines
665 B
C++
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;
|
|
};
|