#include #include using namespace std; struct Animal{ string name; Animal(const string& _name):name(_name){}; virtual ~Animal()= default; virtual void eat(){cout << name << " eating" << endl;} }; struct Mammal: Animal { Mammal(const string & _name):Animal(_name){} virtual void breath() { cout << name << " breathing" << endl; } }; struct Winged: Animal { Winged(const string& _name):Animal(_name){} virtual void flap() { cout << name << " flapping " << endl; } }; struct Bat: Mammal, Winged { Bat(const string& name):Mammal(name),Winged(name){} }; int main() { Bat bat("bat"); bat.Mammal::eat(); bat.breath(); bat.flap(); }