#ifndef MOVER_H #define MOVER_H class Mover { public: Mover(){}; virtual void move() = 0; }; class Walker : public virtual Mover{ protected: int numFeet; string walk; public: Walker(); Walker(string mvt); void move(); }; class Quadruped: public Walker{ public: Quadruped(); Quadruped(string mvt); }; class Biped: public Walker{ public: Biped(); Biped(string mvt); }; class Swimmer : public virtual Mover{ private: int speed; string swim; public: Swimmer(); Swimmer(string mvt, int sp); void move(); }; class Flier : public virtual Mover { private: string fly; public: Flier(); Flier(string mvt); void move(); }; class Amphibian : public Quadruped, public Swimmer{ public: Amphibian(); Amphibian(string wlk, string swm, int spd); void move(); }; class Avian : public Flier, public Biped, public Swimmer{ public: Avian(); Avian(string fly, string wlk, string swm, int spd); void move(); }; #endif