/trunk/Examples/chicken/class/example.h

# · C++ Header · 46 lines · 36 code · 9 blank · 1 comment · 0 complexity · c082b529a8b0f31f1059e9f73fef6246 MD5 · raw file

  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. enum SomeEnum {
  16. First = 0,
  17. Second,
  18. Third,
  19. Last = 1000
  20. };
  21. };
  22. class Circle : public Shape {
  23. private:
  24. double radius;
  25. public:
  26. Circle(double r) : radius(r) { };
  27. virtual double area(void);
  28. virtual double perimeter(void);
  29. };
  30. class Square : public Shape {
  31. private:
  32. double width;
  33. public:
  34. Square(double w) : width(w) { };
  35. virtual double area(void);
  36. virtual double perimeter(void);
  37. };