#include using namespace std; class Animal { public: Animal(int); virtual ~Animal(){cout<<"析构动物...\n";} virtual int GetAge(){return itsage;} virtual void Sleep()=0; virtual void Propagate()=0; virtual void Move()=0; virtual void Body()=0; virtual void Eat()=0; virtual void Show()=0; private: int itsage; }; Animal::Animal(int age):itsage(age) { cout<<"创建动物...\n"; } class Mammalia:public Animal { public: Mammalia(int age):Animal(age) { cout<<"创建哺乳类...\n"; } virtual ~Mammalia() { cout<<"析构哺乳类...\n"; } virtual void Propagate() { cout<<"哺乳类是胎生动物,通过胚胎来繁殖后代。\n"; } }; class Bird:public Animal { public: Bird(int age):Animal(age) { cout<<"创建鸟类...\n"; } virtual ~Bird() { cout<<"析构鸟类...\n"; } virtual void Sleep() { cout<<"鸟类喜欢站着睡觉。\n"; } virtual void Eat() { cout<<"极个别鸟类吃肉,其他都是吃素。\n"; } virtual void Propagate() { cout<<"鸟类是卵生动物,通过排卵来繁殖后代。\n"; } virtual void Move() { cout<<"鸟类可以飞...\n"; } virtual void Body() { cout<<"鸟类体表被覆羽毛,前肢变为翼!\n"; } virtual void Show() { cout<<"鸟类的一般寿命为:"<>choice; switch(choice) { case 1:p=new Pig(1); break; case 2:p=new Human(80); break; case 3:p=new Bird(50); break; default:quit=true; break; } if (quit) { break; } p->Show(); p->Eat(); p->Propagate(); p->Move(); p->Sleep(); p->Body(); cout<<"\n"; delete p; } return 0; }