PageRenderTime 48ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/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
  1. /* File : example.h */
  2. #include <stdio.h>
  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. class Circle : public Shape {
  19. private:
  20. double radius;
  21. public:
  22. Circle(double r) : radius(r) { };
  23. ~Circle() { };
  24. void set_radius( double r );
  25. virtual double area(void);
  26. virtual double perimeter(void);
  27. };
  28. class Square : public Shape {
  29. private:
  30. double width;
  31. public:
  32. Square(double w) : width(w) { };
  33. ~Square() { }
  34. virtual double area(void);
  35. virtual double perimeter(void);
  36. };
  37. Circle *CircleFactory( double r );