PageRenderTime 23ms CodeModel.GetById 16ms app.highlight 6ms RepoModel.GetById 0ms app.codeStats 0ms

/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
 1/* File : example.h */
 2
 3#include <stdio.h>
 4
 5class Shape {
 6public:
 7  Shape() {
 8    nshapes++;
 9  }
10  virtual ~Shape() {
11    nshapes--;
12  }
13  double  x, y;
14  void    move(double dx, double dy);
15  virtual double area(void) = 0;
16  virtual double perimeter(void) = 0;
17  static  int nshapes;
18  static  int get_nshapes();
19};
20
21class Circle : public Shape {
22private:
23  double radius;
24public:
25  Circle(double r) : radius(r) { }
26  ~Circle() { }
27  virtual double area(void);
28  virtual double perimeter(void);
29};
30
31class Square : public Shape {
32private:
33  double width;
34public:
35  Square(double w) : width(w) { }
36  ~Square() { }
37  virtual double area(void);
38  virtual double perimeter(void);
39};
40
41char *overloaded( int i );
42char *overloaded( double d );
43char *overloaded( const char * str );
44char *overloaded( const Circle& );
45char *overloaded( const Shape& );
46