258 ◾ Software Essentials
class Slider: public Iconoclast
{ bool vertical; // need for slider
int distance; // need for slider
public:
Slider();
…
virtual void move() { … }
};
class SpinSlider: public Iconoclast
{ Slider firstMovement;
Spinner secondMovement;
public:
SpinSlider();
…
// use subobjects for movement
virtual void move() { … }
};
Example 8.22: C# Abstract Class and Descendants: Data Missing
abstract class Iconoclast
{ public virtual void move();
…
}
class Spinner: Iconoclast
{ private bool clockwise; // need for spinner
private bool expand; // need for spinner
public Spinner();
…
public override void move() { … }
}
class Slider: Iconoclast
{ private bool vertical; // need for slider
private