Listing 2

// HeronFront source file : shapes.hfront
// translated into target : shapes.hpp

interface IDrawable {
  void Draw() const;
};
interface IPostion {
  Point GetPos() const;
};
interface IMoveable {
  void MoveTo(const Point& x);
  void MoveBy(const Point& x);
};
interface ISizeable {
  void SetSize(int x);
  int GetSize() const;
};
interface IShape : IPositon, IDrawable, IMoveable, ISizeable {
};