1.思维导图
2.编程题:
以下是一个简单的比喻,将多态概念与生活中的实际情况相联系:
比喻:动物园的讲解员和动物表演
想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。
在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则是类中的函数。而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的介绍。
具体过程如下:
定义一个基类 Animal,其中有一个虛函数perform(),用于在子类中实现不同的表演行为。
- #include
- using namespace std;
-
- class Animal
- {
- private:
- string name;
- public:
- Animal() {}
- virtual void perform()
- {
- cout <<"妈妈,那是什么动物" <
- }
- };
-
- class Tiger:public Animal
- {
- public:
- Tiger(){}
- void perform()
- {
- cout << "老虎" <
- }
- };
- class Monkey:public Animal
- {
- public:
- Monkey(){}
- void perform()
- {
- cout << "猴子" <
- }
- };
- class Elephant:public Animal
- {
- public:
- Elephant(){}
- void perform()
- {
- cout << "大象" <
- }
- };
- class Loser:public Animal
- {
- public:
- Loser(){}
- void perform()
- {
- cout << "那是废物!哈哈哈一个玩笑(o゜▽゜)o☆孩子你不要变成那样哦~" <
- }
- };
-
- int main()
- {
- Animal *A;
- Tiger t;
- Monkey m;
- Elephant e;
- Loser l;
- A = &t;
- A->perform();
-
- A =&m;
- A->perform();
-
- A= &e;
- A->perform();
-
- A= &l;
- A->perform();
- return 0;
- }
-
相关阅读:
再出发感怀
23 行为型模式-迭代器模式
排序算法-堆排序和TopK算法
Java练习题 二
pull request
游戏找不到msvcr100dll怎么办,分享5个有效修复方法
优化模型验证关键代码20:时间依赖成功访问概率的车辆路径问题
maven基本配置
PointNet/Pointnet++训练及测试
brief note-2022
-
原文地址:https://blog.csdn.net/m0_72133977/article/details/133797755