zoukankan      html  css  js  c++  java
  • [YTU]_2566( 虚基类练习:动物)

    题目描述

    长期的物种进化使两栖动物既能活跃在陆地上,又能游动于水中。利用虚基类建立一个类的多重继承,包括动物(animal,属性有体长,体重和性别),陆生动物(ter_animal,属性增加了奔跑速度),水生动物(aqu_animal,属性增加了游泳速度)和两栖动物(amp_animal)。其中两栖动物保留了陆生动物和水生动物的属性。

    输入

    两栖动物的体长,体重,性别,游泳速度,奔跑速度(running_speed)

    输出

    初始化的两栖动物的体长,体重,性别,游泳速度,奔跑速度(running_speed)和输入的两栖动物的体长,体重,性别,游泳速度,奔跑速度(running_speed)

    样例输入

    52
    22
    f
    102
    122

    样例输出

    height:50
    weight:20
    sex:m
    swimming_speed:100
    running_speed:120
    
    height:52
    weight:22
    sex:f
    swimming_speed:102
    running_speed:122
    #include <iostream>
     
    using namespace std;
     
    class animal
     
    {
     
    protected:
     
        int height;  
     
        int weight;  
     
        char sex;   
     
    public:
     
        animal(){}
     
        animal(int h,int w,char s):
     
            height(h),weight(w),sex(s){}
     
    };
     
    class aqu_animal:virtual public animal  
     
    {
     
    protected:
     
        int swimming_speed;  
     
    public:
     
        aqu_animal(){}
     
        aqu_animal(int h,int w,char s,int s_p):
     
            animal(h,w,s),swimming_speed(s_p){}
     
    };class ter_animal:virtual public animal
    {
    protected:
        int running_speed;
    public:
        ter_animal(){};
        ter_animal(int h,int w,char s,int r_s):animal(h,w,s),running_speed(r_s){}
    };
    class amp_animal:public aqu_animal,public ter_animal
    {
    public:
        amp_animal(){}
        amp_animal(int h,int w,char s,int s_p,int r_s):animal(h,w,s),aqu_animal(h,w,s,s_p), ter_animal(h,w,s,r_s){}
        void input()
        {
            cin>>height>>weight>>sex>>swimming_speed>>running_speed;
        }
        void show()
        {
        cout<<"height:"<<height<<endl<<"weight:"<<weight<<endl<<"sex:"<<sex<<endl<<"swimming_speed:"<<swimming_speed<<endl<<"running_speed:"<<running_speed<<endl;
        }
    };
    int main()
     
    {
     
        amp_animal a1(50,20,'m',100,120);
     
        amp_animal a2;
     
        a2.input();
     
        a1.show();
     
        cout<<endl;
     
        a2.show();
     
        return 0;
    

  • 相关阅读:
    帝国cms 同个IP可提交一次
    帝国cms 图片相对路径绝对路径设置问题+帝国cms 手机端调用图片问题
    帝国CMS 手机版制作+帝国PC跳转到手机+重新定向
    帝国cms 相关问题
    简洁 清晰弹出层讲解制作(图片点击放大)
    webstorm 2016最新版破解+汉化
    ajax点击不断加载数据列表
    js中substr,substring,indexOf,lastIndexOf,split的用法
    Parallax.js|强大的javascript视觉差特效引擎
    一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
  • 原文地址:https://www.cnblogs.com/sxy201658506207/p/7586327.html
Copyright © 2011-2022 走看看