PageRenderTime 42ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Examples/pike/class/example.h

#
C++ Header | 35 lines | 26 code | 8 blank | 1 comment | 0 complexity | a620eae57aa2587709f4e48713db2466 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. virtual ~Shape();
  6. double x, y;
  7. void move(double dx, double dy);
  8. virtual double area() const = 0;
  9. virtual double perimeter() const = 0;
  10. static int nshapes;
  11. };
  12. class Circle : public Shape {
  13. private:
  14. double radius;
  15. public:
  16. Circle(double r) : radius(r) { };
  17. virtual double area() const;
  18. virtual double perimeter() const;
  19. };
  20. class Square : public Shape {
  21. private:
  22. double width;
  23. public:
  24. Square(double w) : width(w) { };
  25. virtual double area() const;
  26. virtual double perimeter() const;
  27. };