/tags/rel-1-3-29/SWIG/Examples/php4/shadow/example.h
C++ Header | 43 lines | 36 code | 6 blank | 1 comment | 0 complexity | 603aca9bd046a82297d5d15f2d85a623 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* File : example.h */
- #include <stdio.h>
- class Shape {
- public:
- Shape() {
- nshapes++;
- }
- virtual ~Shape() {
- nshapes--;
- };
- double x, y;
- void move(double dx, double dy);
- virtual double area(void) = 0;
- virtual double perimeter(void) = 0;
- static int nshapes;
- static int get_nshapes();
- };
- class Circle : public Shape {
- private:
- double radius;
- public:
- Circle(double r) : radius(r) { };
- ~Circle() { };
- void set_radius( double r );
- virtual double area(void);
- virtual double perimeter(void);
- };
- class Square : public Shape {
- private:
- double width;
- public:
- Square(double w) : width(w) { };
- ~Square() { }
- virtual double area(void);
- virtual double perimeter(void);
- };
- Circle *CircleFactory( double r );
-