用同一个基类的指针(指向不同对象)来操作不同的对象
示例代码:
#include <IOSTREAM.H>
class Animal{
public:
//在基类中定义一个虚函数
virtual void move(){
cout<<"animal move"<<endl;
}
};
class Bird:public Animal{
public:
void move(){
cout<<"bird fly"<<endl;
}
};
class Human:public Animal{
void move(){
cout<<"human walk"<<endl;
}
};
int main(){
//定义两个Animal类型的指针pBird和pHuman
Animal * pBird;
Animal * pHuman;
//分别将pBird和pHuman指针指向b和h对象
Bird b;
Human h;
pBird=&b;
pHuman=&h;
//通过指向不同对象的基类类型的指针操作不同的对象
pBird->move();
pHuman->move();
return 0;
}