[YTU]_2576( 虚函数练习:动物2)

来源:互联网 发布:3ds淘宝哪家 编辑:程序博客网 时间:2024/05/22 01:53

题目描述

长期的物种进化使自然界出现了生活在陆地上的陆生动物和生活在水中的水生动物。根据已有主函数编写动物类,陆生动物类和水生动物类。

输入

动物的体长,体重,性别;

水生动物的体长,体重,性别,游泳速度;

陆生动物的体长,体重,性别,奔跑速度;

输出

动物的体长,体重,性别;

水生动物的体长,体重,性别,游泳速度;

陆生动物的体长,体重,性别,奔跑速度;

样例输入

52 22 f62 32 m 12272 42 m 102

样例输出

height:52weight:22sex:fheight:62weight:32sex:mswimming_speed:122height:72weight:42sex:mrunning_speed:102
#include <iostream>using namespace std;class animal{    public:animal(int h,int w,char s):height(h),weight(w),sex(s){}    virtual void display()    {        cout<<"height:"<<height<<endl<<"weight:"<<weight<<endl<<"sex:"<<sex<<endl;    }protected:        int height,weight;        char sex;};class aqu_animal:public animal{    public:        aqu_animal(int h,int w,char s,int s_p):animal(h,w,s),swimming_speed(s_p){}  void display()        {            cout<<"height:"<<height<<endl<<"weight:"<<weight<<endl<<"sex:"<<sex<<endl<<"swimming_speed:"<<swimming_speed<<endl;        }    protected:        int swimming_speed;};class ter_animal:public animal{public:    ter_animal(int h,int w,char s,int r_p):animal(h,w,s),running_speed(r_p){} void display()    {          cout<<"height:"<<height<<endl<<"weight:"<<weight<<endl<<"sex:"<<sex<<endl<<"running_speed:"<<running_speed<<endl;    }protected:  int running_speed;};int main(){    int a,b,s,r;    char c;    animal *p;    cin>>a>>b>>c;    animal pa(a,b,c);    p=&pa;    p->display();    cin>>a>>b>>c>>s;    aqu_animal pb(a,b,c,s);    p=&pb;    p->display();    cin>>a>>b>>c>>r;    ter_animal pc(a,b,c,r);    p=&pc;    p->display();    return 0;}