#include "iostream.h"
//////////////////////////////////////动物类
class animal
{
public:
void character();
virtual food();
};
void animal::character()
{
cout<<"动物特征:不同"<<endl;
}
animal::food()
{
cout<<"动物食物:不同"<<endl<<endl;
}
////////////////////////////////////////长颈鹿类
class giraffe:public animal
{
public:
void character();
virtual food();
};
void giraffe::character()
{
cout<<"长颈鹿特征:脖子长"<<endl;
}
giraffe::food()
{
cout<<"长颈鹿食物:树叶"<<endl<<endl;
}
////////////////////////////////////////大象类
class elephant:public animal
{
public:
void character();
virtual food();
};
void elephant::character()
{
cout<<"大象特征:长鼻子"<<endl;
}
elephant::food()
{
cout<<"大象食物:草"<<endl<<endl;
}
//////////////////////////////////////////一个形参为基类指针的函数
void f(animal *p)
{
p->character();
p->food();
cout<<"============================"<<endl;
}
//////////////////////////////////////////main主函数
int main()
{
animal p1;
p1.character();
p1.food();
giraffe p2;
p2.character();
p2.food();
f(&p2);//基类的指针可以指向其派生类的地址
elephant p3;
p3.character();
p3.food();
f(&p3);
return 0;
}
















