import source from 1.3.40
[external/swig.git] / Examples / php / 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   static  int get_nshapes();
17 };
18
19 class Circle : public Shape {
20 private:
21   double radius;
22 public:
23   Circle(double r) : radius(r) { }
24   ~Circle() { }
25   void set_radius( double r );
26   virtual double area(void);
27   virtual double perimeter(void);
28 };
29
30 class Square : public Shape {
31 private:
32   double width;
33 public:
34   Square(double w) : width(w) { }
35   ~Square() { }
36   virtual double area(void);
37   virtual double perimeter(void);
38 };