swig/Examples/csharp/class/example.h

42 lines
651 B
C++

/* File : example.h */
class Shape {
public:
struct Counter{
static int nshapes;
};
Shape() {
Counter::nshapes++;
}
virtual ~Shape() {
Counter::nshapes--;
};
double x, y;
void move(double dx, double dy);
virtual double area(void) = 0;
virtual double perimeter(void) = 0;
};
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);
};