#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: virtual Animal { Mammal(const string & _name):Animal(_name){} virtual void breath() { cout << name << " breathing" << endl; } }; struct Winged: virtual Animal { Winged(const string& _name):Animal(_name){} virtual void flap() { cout << name << " flapping " << endl; } }; struct Bat: Mammal, Winged { Bat(const string& name):Animal(name),Mammal(""),Winged(""){} }; int main() { Bat bat("bat"); bat.eat(); bat.breath(); bat.flap(); }