/tags/rel-1.3.35/Examples/php4/overloading/example.h
C++ Header | 46 lines | 39 code | 6 blank | 1 comment | 0 complexity | 896eca8ae658aee0e7d0bfeffbb552f1 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* File : example.h */
- #include <stdio.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;
- static int get_nshapes();
- };
- class Circle : public Shape {
- private:
- double radius;
- public:
- Circle(double r) : radius(r) { }
- ~Circle() { }
- virtual double area(void);
- virtual double perimeter(void);
- };
- class Square : public Shape {
- private:
- double width;
- public:
- Square(double w) : width(w) { }
- ~Square() { }
- virtual double area(void);
- virtual double perimeter(void);
- };
- char *overloaded( int i );
- char *overloaded( double d );
- char *overloaded( const char * str );
- char *overloaded( const Circle& );
- char *overloaded( const Shape& );