/tags/rel-1-3-25/SWIG/Examples/python/smartptr/example.h
C++ Header | 39 lines | 30 code | 8 blank | 1 comment | 0 complexity | 938e14bc0055a478247b404055f0adf7 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* 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();
- };
-