虚函数为什么能实现多态

来源:百度知道 编辑:UC知道 时间:2024/05/04 16:50:18
怎样实现?

#include <iostream>

using namespace std;

class animal{

public:
virtual void play(void){};
};

class bird : public animal{

virtual void play(){

cout<<"bird"<<endl;
}
};

class tiger : public animal{

virtual void play(){

cout<<"tiger"<<endl;
}
};

void animalPlay(animal *a){
a->play();
}

void main(){

animal *a = new bird();
animalPlay(a);

delete a;

a = new tiger();
animalPlay(a);

delete a;

}

虚函数重载阿 每个自类都把虚函数重新定义 以实现多态