/trunk/Examples/contract/simple_cxx/example.h
C++ Header | 34 lines | 30 code | 3 blank | 1 comment | 0 complexity | 297367c3116721edbe49fd016a6fbe6e 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(void) = 0;
- virtual double perimeter(void) = 0;
- static int nshapes;
- };
- class Circle : public Shape {
- private:
- double radius;
- public:
- Circle(double r) : radius(r) { };
- virtual double area(void);
- virtual double perimeter(void);
- };
- class Square : public Shape {
- private:
- double width;
- public:
- Square(double w) : width(w) { };
- virtual double area(void);
- virtual double perimeter(void);
- };