#include <iostream>
using namespace std;
class Animal
{
private:
public:
virtual void perform()=0;
virtual ~Animal()
{
cout << "Animal析构调用" << endl;
}
};
class GuideLion:public Animal
{
private:
public:
void perform()
{
cout << "这是一只狮子" << endl;
}
~GuideLion()
{
cout << "GuideLion析构调用" << endl;
}
};
class GuideTager:public Animal
{
private:
public:
void perform()
{
cout << "这是一只老虎" << endl;
}
~GuideTager()
{
cout << "GuideTager析构调用" << endl;
}
};
class GuideElephant:public Animal
{
private:
public:
void perform()
{
cout << "这是一头大象" << endl;
}
~GuideElephant()
{
cout << "GuideElephant析构调用" << endl;
}
};
int main()
{
GuideLion l;
GuideElephant e;
GuideTager t;
Animal *p;
p=&l;
p->perform();
p=&e;
p->perform();
p=&t;
p->perform();
return 0;
}