官方网站建设银行,wordpress数据库类型,外贸平台补贴政策,wordpress origin 下载想象一下你去了一家动物园#xff0c;看到了许多不同种类的动物#xff0c;如狮子、大象、猴子等。现在#xff0c;动物园里有一位讲解员#xff0c;他会为每种动物表演做简单的介绍。
在这个场景中#xff0c;我们可以将动物比作是不同的类#xff0c;而每种动物表演则…想象一下你去了一家动物园看到了许多不同种类的动物如狮子、大象、猴子等。现在动物园里有一位讲解员他会为每种动物表演做简单的介绍。
在这个场景中我们可以将动物比作是不同的类而每种动物表演则是类中的函数。而讲解员则是一个基类他可以根据每种动物的特点和表演进行相应的介绍。
具体过程如下
定义一个基类 Animal其中有一个虛函数perform)用于在子类中实现不同的表演行为。
代码
#include iostreamusing namespace std;//基类Animal
class Animal
{
private:string name;
public://无参构造函数Animal(){cout Animal::无参构造函数 endl;}//有参构造函数Animal(string name):name(name){cout Animal::有参构造函数 endl;}//纯虚函数用来在子类中实现不同的表演行为virtual void perform() 0;//析构函数virtual ~Animal(){cout Animal::虚析构函数 endl;}
};//子类Lion:狮子表演
class Lion:public Animal
{
public://无参构造函数Lion(){cout Lion::无参构造函数 endl;}//有参构造函数Lion(string name):Animal(name){cout Lion::有参构造函数 endl;}void perform(){cout 狮子表演来喽——狮子滚球!!!!! endl;}//析构函数virtual ~Lion(){cout Lion::析构函数 endl;}
};//子类Elephant:大象表演
class Elephant:public Animal
{
public://无参构造函数Elephant(){cout Elephant::无参构造函数 endl;}//有参构造函数Elephant(string name):Animal(name){cout Elephant::有参构造函数 endl;}void perform(){cout 大象来表演喽——大象踢皮球!!!!! endl;}//析构函数virtual ~Elephant(){cout Elephant::析构函数 endl;}
};//子类Monkey:猴子表演
class Monkey:public Animal
{
public://无参构造函数Monkey(){cout Monkey::无参构造函数 endl;}//有参构造函数Monkey(string name):Animal(name){cout Monkey::有参构造函数 endl;}void perform(){cout 看猴子表演喽——猴子偷桃!!!!! endl;}//析构函数virtual ~Monkey(){cout Monkey::析构函数 endl;}
};int main()
{Animal *p new Lion(狮子表演);p-perform();delete p;cout endl;Animal *p1 new Elephant(大象表演);p1-perform();delete p1;cout endl;Animal *p2 new Monkey(猴子表演);p2-perform();delete p2;return 0;
}运行效果图 思维导图