diff options
Diffstat (limited to 'Examples/python/smartptr/example.h')
-rw-r--r-- | Examples/python/smartptr/example.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Examples/python/smartptr/example.h b/Examples/python/smartptr/example.h new file mode 100644 index 0000000..c0f9b1d --- /dev/null +++ b/Examples/python/smartptr/example.h @@ -0,0 +1,39 @@ +/* File : example.h */ + +class Shape { +public: + Shape() { + nshapes++; + } + virtual ~Shape() { + nshapes--; + }; + double x, y; + void move(double dx, double dy); + virtual double area() = 0; + virtual double perimeter() = 0; + static int nshapes; +}; + +class Circle : public Shape { +private: + double radius; +public: + Circle(double r) : radius(r) { }; + virtual double area(); + virtual double perimeter(); +}; + +class Square : public Shape { +private: + double width; +public: + Square(double w) : width(w) { }; + virtual double area(); + virtual double perimeter(); +}; + + + + + |