import source from 1.3.40
[external/swig.git] / Examples / ruby / class / example.h
1 /* File : example.h */
2
3 class Shape {
4 public:
5   Shape() {
6     nshapes++;
7   }
8   virtual ~Shape() {
9     nshapes--;
10   };
11   double  x, y;   
12   void    move(double dx, double dy);
13   virtual double area(void) = 0;
14   virtual double perimeter(void) = 0;
15   static  int nshapes;
16 };
17
18 class Circle : public Shape {
19 private:
20   double radius;
21 public:
22   Circle(double r) : radius(r) { };
23   virtual double area(void);
24   virtual double perimeter(void);
25 };
26
27 class Square : public Shape {
28 private:
29   double width;
30 public:
31   Square(double w) : width(w) { };
32   virtual double area(void);
33   virtual double perimeter(void);
34 };
35
36
37
38
39