/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
- /* 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& );