Further cleaning up of class examples

This commit is contained in:
Olly Betts 2014-02-24 10:10:24 +13:00
commit 0de4cf13a8
29 changed files with 150 additions and 216 deletions

View file

@ -1,44 +1,34 @@
/* File : example.h */
class Shape
{
class Shape {
public:
Shape ()
{
Shape() {
nshapes++;
}
virtual ~ Shape ()
{
virtual ~Shape() {
nshapes--;
};
double x, y;
void move (double dx, double dy);
virtual double area (void) const = 0;
virtual double perimeter (void) const = 0;
protected:
static int 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
{
class Circle : public Shape {
private:
double radius;
public:
Circle (double r):radius (r)
{
};
virtual double area (void) const;
virtual double perimeter (void) const;
Circle(double r) : radius(r) { }
virtual double area();
virtual double perimeter();
};
class Square:public Shape
{
class Square : public Shape {
private:
double width;
public:
Square (double w):width (w)
{
};
virtual double area (void) const;
virtual double perimeter (void) const;
Square(double w) : width(w) { }
virtual double area();
virtual double perimeter();
};