2> 编程题:
以下是一个简单的比喻,将多态概念与生活中的实际情况相联系:
比喻:动物园的讲解员和动物表演
想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。
在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则是类中的函数。而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的介绍。
具体过程如下:
定义一个基类 Animal,其中有一个虛函数perform(),用于在子类中实现不同的表演行为。
#include <iostream> using namespace std; class Animal { private: string name; public: Animal(string name = "----"):name(name) {} virtual void perform() { cout << "----" << endl; } }; class Lion:public Animal { private: int weight; public: Lion(string name = "----", int weight = 0):Animal(name), weight(weight) {} void perform() { cout << "我们的训练师将与狮子进行互动,完成跳跃、翻滚、通过障碍物等精彩表演。。。" << endl; } }; class Monkey:public Animal { private: int weight; public: Monkey(string name = "----", int weight = 0):Animal(name), weight(weight) {} void perform() { cout << "接下来要登场的是我们聪明又灵活的猴子,它将给我们带来骑自行车走钢丝的精彩表演。。。" << endl; } }; int main() { Lion l1; Animal *p = &l1; p->perform(); Monkey m1("lili",100); p = &m1; p->perform(); return 0; }
6.11作业
于 2024-06-11 19:49:26 首次发布