};
/*! Store coordinates `x`, `y`, and heading `h`. */
-class Pose : public Point {
+class Pose : public virtual Point {
private:
double h_ = 0.0;
public:
friend std::ostream& operator<<(std::ostream& out, Pose const& p);
};
-class PoseRange : public Pose {
+class PoseRange : public virtual Pose {
private:
double e_ = 0.0;
using Pose::h;
*
* - `x()` and `y()` methods returns coordinates of rear axle center.
*/
-class BicycleCar : public Pose, public CarSize, public CarMove {
+class BicycleCar : public virtual Pose, public virtual CarSize,
+ public virtual CarMove {
private:
public:
/*! \brief Return `false` if `bc` is not achievable.