怎样查找网站域名归属,重庆企业做网站,莆田高端网站建设,福州网站建设的公司哪家好1.比喻#xff1a;动物园的讲解员和动物表演
想象一下你去了一家动物园#xff0c;看到了许多不同种类的动物#xff0c;如狮子、大象、猴子等。现在#xff0c;动物园里有一位讲解员#xff0c;他会为每种动物表演做简单的介绍。
在这个场景中#xff0c;我们可以将动…1.比喻动物园的讲解员和动物表演
想象一下你去了一家动物园看到了许多不同种类的动物如狮子、大象、猴子等。现在动物园里有一位讲解员他会为每种动物表演做简单的介绍。
在这个场景中我们可以将动物比作是不同的类而每种动物表演则是类中的函数。而讲解员则是一个基类他可以根据每种动物的特点和表演进行相应的介绍。
具体过程如下 定义一个基类 Animal其中有一个虚函数 perform()用于在子类中实现不同的表演行为。
#include iostreamusing namespace std;//基类Animal
class Animal
{
private:string name;
public://无参构造函数Animal(){}//有参构造函数Animal(string name):name(name){}//纯虚函数用来实现各种动物的不同表演行为virtual void perform() 0;//虚析构函数virtual ~Animal(){cout Animal::析构函数 endl;}
};// 子类 Lion狮子表演
class Lion:public Animal
{
public://无参构造函数Lion(){}//有参构造函数Lion(string name):Animal(name){}void perform(){cout 狮子表演! endl;}//析构函数~Lion(){cout Lion::析构函数 endl;}
};// 子类 Elephant大象表演
class Elephant:public Animal
{
public://无参构造函数Elephant(){}//有参构造函数Elephant(string name):Animal(name){}void perform(){cout 大象表演 endl;}//析构函数~Elephant(){cout Elephant::析构函数 endl;}
};// 子类 Monkey猴子表演
class Monkey:public Animal
{
public://无参构造函数Monkey(){}//有参构造函数Monkey(string name):Animal(name){}void perform(){cout 猴子表演 endl;}//析构函数~Monkey(){cout Monkey::析构函数 endl;}
};int main()
{Animal *p new Lion(lion表演);p-perform();delete p;Animal *p1 new Elephant(elephant表演);p1-perform();delete p1;Animal *p2 new Monkey(monkey表演);p2-perform();delete p2;return 0;
} 2.用函数模板实现不同数据类型的交换功能
#include iostreamusing namespace std;//创建函数模板
template typename T
void fun(T a, T b)
{T temp;temp a;a b;b temp;
}int main()
{int a 10, b 20;fun(a,b);cout a b endl;double c 1.3,d 1.4;fun(c,d);cout c d endl;return 0;
}