class Boat { public: Boat(int length); virtual ~Boat() = default; virtual double reach() const = 0; double capacity() const; virtual unsigned safety_factor() const; private: int length; }; // Lösningen ska visa insikt i vilka datamedlemmar och funktioner som lämpar sig för basklassen, vilka som behöver vara polymorfa och vilka som behövs men inte har någon rimlig implementation i basklassen, samt hur syntax för allt detta ser ut.