class Square : public Rectangle
{
public:
// Inherited from Rectangle
double getLength() const;
double getWidth() const;
void setLength();
void setWidth();
double getCenterX() const;
double getCenterY() const;
void SetCenter(double x, double y);
// Derived members
Square(double x, double y, double side);
double GetSide() const;
void SetSide(double side);
// Redefined
virtual double Area() const;
virtual void Draw() const;
virtual void Scale(double scale);
private:
// Inherited from Rectangle (although not directly accessible in Square)
double center_x_; // x-coordinate of center point
double center_y_; // y-coordinate of center point
double length_; // "long" sides
double width_; // "short" sides
// Derived member
double side_; // length of a side
};