6.11 作业

以下是一个简单的比喻,将多态概念与生活中的实际情况相联系:

比喻:动物园的讲解员和动物表演

想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。

在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则是类中的函数。而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的介绍。

具体过程如下:

定义一个基类 Animal,其中有一个虛函数perform(),用于在子类中实现不同的表演行为。

#include <iostream>

using namespace std;
//封装一个基类 Animal包含一个虚函数perform
class Animal
{
public: //共有的
    virtual void perform() const = 0;//纯虚函数

};

//封装 狮子 类 共有继承 Animal 类
class Lion:public Animal
{
public:
    void perform() const override
    {
        cout << "狮子在吼叫" << endl;
    }
};
//封装一个 猴子 类 共有继承Animal 类
class Monkey:public Animal
{
    void perform() const override
    {
        cout << "猴子在爬树" << endl;
    }
};
//封装一个 大象 类 共有继承Animal 类
class Elephant:public Animal
{
    void perform() const override
    {
        cout << "大象在用鼻子喷水" << endl;
    }
};
//封装一个讲解员类
class ZooKeeper
{
public:
    void introduce(const Animal& animal)
    {
        cout << "这只动物正在表演" << endl;
        animal.perform(); //多态调用
    }
};

int main()
{
    ZooKeeper keeper;
    Lion lion;
    Elephant elephant;
    Monkey monkey;
    keeper.introduce(lion);
    keeper.introduce(elephant);
    keeper.introduce(monkey);
    return 0;
}

相关推荐

  1. <span style='color:red;'>613</span><span style='color:red;'>作业</span>

    613作业

    2024-06-12 14:34:01      10 阅读
  2. <span style='color:red;'>617</span><span style='color:red;'>作业</span>

    617作业

    2024-06-12 14:34:01      7 阅读
  3. 学习记录691@spring面试之bean的作用

    2024-06-12 14:34:01       33 阅读
  4. 作业..........

    2024-06-12 14:34:01       34 阅读
  5. LeetCode //C - 611. Valid Triangle Number

    2024-06-12 14:34:01       14 阅读
  6. 611. 有效三角形的个数(双指针)

    2024-06-12 14:34:01       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 14:34:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 14:34:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 14:34:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 14:34:01       20 阅读

热门阅读

  1. VMware Workstation 15.5 pro

    2024-06-12 14:34:01       4 阅读
  2. 发布 AI 后,苹果股价创历史新高

    2024-06-12 14:34:01       9 阅读
  3. Flutter娱乐与休闲类APP常用的第三方库总汇

    2024-06-12 14:34:01       8 阅读
  4. GTSAM | gtsam::ISAM2Params

    2024-06-12 14:34:01       6 阅读
  5. nginx配置后访问出现白屏怎么办?

    2024-06-12 14:34:01       7 阅读
  6. 发布自己的npm插件包

    2024-06-12 14:34:01       7 阅读
  7. C#防止多次注册事件

    2024-06-12 14:34:01       7 阅读
  8. HTML5的新语义化标签

    2024-06-12 14:34:01       9 阅读
  9. Web前端魂斗罗:深度剖析前端技术的奇幻之旅

    2024-06-12 14:34:01       8 阅读