zoukankan      html  css  js  c++  java
  • 实验8:Problem F: 让动物们叫起来吧!

    Home Web Board ProblemSet Standing Status Statistics
     
    Problem F: 让动物们叫起来吧!

    Problem F: 让动物们叫起来吧!

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 420  Solved: 331
    [Submit][Status][Web Board]

    Description

    Tom家里养了很多动物,比如有鸭子、火鸡和公鸡。它们的叫声都不相同。现在,请编写类Animal、Cock、Turkey和Duck,根据给出的main()函数及样例分析每个类的属性、行为及相互关系,以模仿Tom家的情况。

    提示:动物们都有自己的名字。

    Input

    输入有多行。第一行正整数M表示之后有M个测试用例,每个测试用例包括2部分:前一部分是动物的名字,后一部分是动物的类型(用A、B、C分别表示鸭子、火鸡和公鸡)。

    Output

    输出有M行,每个测试用例对应一样。见样例。

    Sample Input

    3 Baby C Rubby B Tobby A

    Sample Output

    Baby is a cock, and it can crow. Rubby is a turkey, and it can gobble. Tobby is a duck, and it can quack.

    HINT

     

    Append Code

    [Submit][Status][Web Board]
    #include<iostream>
    using namespace std;
    class Animal{
    protected:
    
    string n;
    
    public:
        Animal(){}
        Animal(string name):n(name){}
        void sound(){}
    };
    class Cock:public Animal{
    protected:
        string n;
    public:
        Cock(string name):n(name){cout<<n<<" is a cock, and it can crow."<<endl;}
        void sound(){cout<<n<<" is a cock, and it can crow."<<endl;}
    };
    class Turkey:public Animal{
    protected:
        string n;
    public:
        Turkey(string name):n(name){cout<<n<<" is a turkey, and it can gobble."<<endl;}
        void sound(){cout<<n<<" is a turkey, and it can gobble."<<endl;}
    
    };
    class Duck:public Animal{
    protected:
        string n;
    public:
        Duck(string name):n(name){cout<<n<<" is a duck, and it can quack."<<endl;}
        void sound(){cout<<n<<" is a duck, and it can quack."<<endl;}
    };
    
    int main()
    {
        int cases;
        string name;
        char type;
        Animal *animal;
        cin>>cases;
        for (int i = 0; i < cases; i++)
        {
           cin>>name>>type;
           switch(type)
           {
            case 'A':
                animal = new Duck(name);
                break;
            case 'B':
                animal = new Turkey(name);
                break;
            case 'C':
                animal = new Cock(name);
                break;
           }
           animal->sound();
        }
        return 0;
    }
    向代码最深处出发~!
  • 相关阅读:
    AOP
    关于zookeeper部署的个数
    Zookeeper 简介
    Java 正则表达式
    面试记录
    面试题
    Spring Framework官方文档翻译(中英文版)
    java知识巩固
    mysql sql记录
    redis入门
  • 原文地址:https://www.cnblogs.com/auto1945837845/p/5425601.html
Copyright © 2011-2022 走看看