Question 3: Let-over-lambda and C++ classes [6]

The code below provides the implementation of a simple C++ class.
Provide a comperable Lisp construct using let-over-lambda.
// class to represent and manipulate a velocity,
//    which can be accessed in kilometres per hour
//    or miles per hour
class Velocity {
   public:
      // the conversion factor from miles to km
      static const float KMperMile = 1.60934;

      // constructor with optional initial value
      //    and flag indicating if it is being provided
      //    in mph (default) or kmh
      Velocity(float v = 0, bool inMph = true) {
         setVel(v, inMph);
      }

      // lookup function allowing user to retrieve velocity in either
      //    mph (the default) or kmh
      float getVel(bool inMph = true) {
         if (inMph) return velocity;
         else return KMperMile * velocity;
      }

      // set function allowing user to set velocity in either
      //    mph (the default) or kmh
      void setVel(float v, bool inMph = true) {
         if (inMph) velocity = v;
         else velocity = v / KMperMile;
      }

   private:
      float velocity;  // velocity, stored in miles per hour
};