#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; }