动物怎么叫

根据给出的基类Animal和main()函数。

1、根据给出的main()函数和运行结果的提示,设计出相关的各个类,注意观察运行结果,提取出每个类中需要的数据成员,并匹配上需要的成员函数。

2、显然,Animal设计为抽象类更合适,Animal不需要能够实例化,是专门作基类使用的。改造程序,使Animal设计为抽象类,这时main()函数中p = new Animal();将出错,将此行删除。

3、每一个Animal的派生类都有一个“名字”数据成员,这一共有的成员完全可以由基类提供改造上面的程序,将这一数据成员作为抽象类Animal数据成员被各派生类使用

程序代码

#include <iostream>
#include <string>

using namespace std;

class Animal//动物类
{
public:
  virtual void cry()//动物叫
    {
      cout<<"不知哪种动物,让我如何学叫?"<<endl;
    }
};

//动物类派生出狗类
class Dog : public Animal
{
public:
    //构造函数(构造函数中使用初始化表)
    Dog(string n):name(n){}

    virtual void cry()//动物叫
    {
      cout<<"我叫"<<name<<",是一条狗,我的叫声是汪汪汪!"<<endl;
    }

protected:
    string name;//姓名
};

//动物类派生出猫类
class Cat : public Animal
{
public:
    //构造函数(构造函数中使用初始化表)
    Cat(string n):name(n){}

    virtual void cry()//动物叫
    {
      cout<<"我叫"<<name<<",是一只猫,我的叫声是喵喵喵!"<<endl;
    }

protected:
    string name;//姓名
};

//动物类派生出老鼠类
class Mouse : public Animal
{
public:
    //构造函数(构造函数中使用初始化表)
    Mouse(string n, char s):name(n),sex(s){}

    virtual void cry()//动物叫
    {
      cout<<"我叫"<<name<<",是一只"<<( (sex=='m') ? "雄性" : "雌性")<<"老鼠,我的叫声是吱吱吱!"<<endl;
    }

protected:
    string name;//姓名
    char sex;//性别
};

//动物类派生出长颈鹿类
class Giraffe : public Animal
{
public:
    //构造函数(构造函数中使用初始化表)
    Giraffe(string n, char s):name(n),sex(s){}

    virtual void cry()//动物叫
    {
        cout<<"我叫"<<name<<",是一头"<<( (sex=='m') ? "雄性" : "雌性")<<"长颈鹿,我的叫声是哞哞哞!"<<endl;
    }

protected:
    string name;//姓名
    char sex;//性别
};

void main( )
{
    Animal *p;
    p = new Animal();
    p->cry(); 

    Mouse m1("Jerry",'m');
    p=&m1;
    p->cry(); 

    Mouse m2("Jemmy",'f');
    p=&m2;
    p->cry(); 

    Cat c1("Tom");
    p=&c1;
    p->cry(); 

    Dog d1("Droopy");
    p=&d1;
    p->cry(); 

    Giraffe g1("Gill",'m');
    p=&g1;
    p->cry(); 

    system("pause");
}

执行结果:

时间: 2024-08-05 02:44:30

动物怎么叫的相关文章

六月十九日测试 五颜六色的小动物

题目描述 1.题目描述:       小东东上小学了, 作为奖品东东爸送给小东东一些小动物. 每个小动物都有一个固定的颜色和大小.       小东东在给小动物们一个编号后发现:第i个小动物的颜色是i,大小是Ai. 每个小动物i可以吸收大小不超过是它两倍的另一个小动物. 当颜色是x.大小是Ax的小动物x溶解颜色是y和大小是Ay的小动物y时( Ay≤2*Ax) , 它们会变成一个颜色是x,大小是Ax + Ay小动物.注:由于小动物大小的原因,它们相互都有可能吸收对方.很显然最后只会剩一个小动物.现

Atitit 关于处理环保行动联盟和动物解放阵线游击队的任命书 委任状

Uke 集团文化部部长兼emir 大酋长圣旨到!! In god we trust ,Emir Decree大酋长圣旨:: Englishi: Local::  ##增加机构     Ura>>环保行动联盟 致力于环保事业 Ura>> 动物解放阵线游击队. 致力于解放努力..努力解救动物奴隶与其他奴隶.. ##机构职位任命 任命 attilax 环保行动联盟盟主 任命 attilax为 动物解放阵线游击队大队长 .暂行会长一职位.. ------------God bless us

虚基类练习 动物2

/*长期的物种进化使自然界出现了生活在陆地上的陆生动物和生活在水中的水生动物. 依据已有主函数编写动物类,陆生动物类和水生动物类. Input 动物的体长,体重,性别: 水生动物的体长,体重.性别.游泳速度: 陆生动物的体长,体重,性别,奔跑速度: Output 动物的体长,体重.性别: 水生动物的体长.体重,性别.游泳速度: 陆生动物的体长,体重,性别.奔跑速度: */ #include <iostream> using namespace std; class animal { prote

动物这样叫

要求1代码: /* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:sum123.cpp *作 者:林海云 *完成日期:2015年6月12日 *版 本 号:v2.0 * *问题描述:根据给出的main()函数和运行结果的提示,设计出相关的各个类,注意观察运行结果,提取出每个类中需要的数据成员,并匹配上需要的成员函数. *程序输入:无 *程序输出:输出要求的运行结果 */ #include<iostream> using

第13周 项目一-动物这样叫

下面是给出的基类Animal声明和main()函数. class Animal { public: virtual void cry() { cout<<"不知哪种动物,让我如何学叫?"<<endl; } }; int main( ){ Animal *p; p = new Animal(); p->cry(); Mouse m1("Jerry",'m'); p=&m1; p->cry(); Mouse m2("

虚基类练习:动物(利用虚基类建立一个类的多重继承,包括动物(animal,属性有体长,体重和性别),陆生动物(ter_animal,属性增加了奔跑速度),水生动物(aqu_animal,属性增加了游泳速度)和两栖动物(amp_animal)。)

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

《疯狂动物城》观影感受

过了三个月才开始观看这部电影,这是一部制作精良的作品,让我愉快的度过了周末的夜晚. 该片讲述的是在一个动物和平共处的城市Zootopia,兔子朱迪通过自己不懈努力,实现自己童年梦想,成为一名动物城警察的故事. 有几个细节印象深刻. 第一就是去车管所查询车牌归属的情节,搞笑幽默有创意. 第二就是狐狸倾诉童年阴影的情节,造就了他的冷静. One,I was never gonna let anyone see that they got to me. Two,If the world's only

疯狂动物城 zootopia

今天下午出去溜达溜达,看了被大家安利了很久的疯狂动物城. 从技术上说,确实超级厉害啊.完整的呈现了一个动物的世界,而且对每个动物都有精准的刻画,对细节非常之讲究.也看过一些网上的动画技术分析贴,不得不感慨迪士尼强大的动画技术. 从动画的剧情来说,这部电影带给人的更多呀,作为一个将要步入工作岗位的女生,在女主角朱迪的身上多多少少看到了自己的影子,出身小城,要去一个大城市打拼,从事的行业带有偏见等等.抛开电影中表现的其他内容,对于我来说这个电影更像一碗心灵鸡汤,朱迪也像是我们这些正在奋斗的女生的一个

NTOJ 290 动物统计(加强版)

动物统计加强版 描述 在美丽大兴安岭原始森林中存在数量繁多的物种,在勘察员带来的各种动物资料中有未统计数量的原始动物的名单.科学家想判断这片森林中哪种动物的数量最多,但是由于数据太过庞大,科学家终于忍受不了,想请聪明如你的ACMer来帮忙. 输入 第一行输入动物名字的数量N(1<= N <= 4000000),接下来的N行输入N个字符串表示动物的名字(字符串的长度不超过10,字符串全为小写字母,并且只有一组测试数据).  输出 输出这些动物中最多的动物的名字与数量,并用空格隔开(数据保证最多的

读设计师要懂心理学笔记7-人是社会性动物

七.人是社会性动物 63."强关系圈"的人数上限是150人 64.人天生会模仿和同情 *模仿他人的肢体语言会令他们更喜欢你 65.共同做一件事会把人们联系在一起 66.人们认为线上交往也应该遵循线下社交规则 67.说谎程度因媒介不同而不同 *人们在打电话时说谎最多 68.沟通时说话者与倾听者的大脑同步 *同步+预期=理解 69.大脑对熟人反应独特 70.笑把人们联结在一起 71.人更能从视频中分辨出假笑