PageRenderTime 46ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Examples/php/class/example.h

#
C++ Header | 38 lines | 34 code | 3 blank | 1 comment | 0 complexity | c2c1309fb85b53e993b072d976031a4c MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. /* File : example.h */
  2. class Shape {
  3. public:
  4. Shape() {
  5. nshapes++;
  6. }
  7. virtual ~Shape() {
  8. nshapes--;
  9. }
  10. double x, y;
  11. void move(double dx, double dy);
  12. virtual double area(void) = 0;
  13. virtual double perimeter(void) = 0;
  14. static int nshapes;
  15. static int get_nshapes();
  16. };
  17. class Circle : public Shape {
  18. private:
  19. double radius;
  20. public:
  21. Circle(double r) : radius(r) { }
  22. ~Circle() { }
  23. void set_radius( double r );
  24. virtual double area(void);
  25. virtual double perimeter(void);
  26. };
  27. class Square : public Shape {
  28. private:
  29. double width;
  30. public:
  31. Square(double w) : width(w) { }
  32. ~Square() { }
  33. virtual double area(void);
  34. virtual double perimeter(void);
  35. };