虚函数:使用virtual关键字修饰的函数。
虚函数在程序运行期实现多态:派生类实现基类虚函数,达到同名函数不同功能的目的。
class cFather
{
public:
virtual void Func(){cout<<"I'm Father"<<endl;}
};
class cSon1: public cFather
{
public:
void Func(){cout<<"I'm Son1"<<endl;}
};
class cSon2: public cFather
{
public:
void Func(){cout<<"I'm Son2"<<endl;}
};
class cSon3: public cFather
{
public:
void Func(){cout<<"I'm Son3"<<endl;}
};
void fSonName(cFather *cSon)
{
cSon->Func();
}
int main()
{
cFather *cSon = new cSon2;//实例对象是谁,就调用谁
fSonName(cSon);
return 0;
}