1,定义
2,多态发生的3个必要条件
a)要有继承
b)要有虚函数重写
c)父类指针或引用指向子类对象
3,多态示例
#父类定义虚函数
class A
{
virtual void fight()
{
......
}
};
#子类重写虚函数
class B : public A
{
virtual void fight()
{
......
}
};
#父类指针或引用指向子类对象
void fightPeople(A *people)
{
#该函数会更具传入的对象的不同去调用不同的fight方法
people->fight();
}
4,纯虚函数的定义
a)在一个基类中被说明,要求任何派生类都需要实现该方法
b)virtual void 函数名(参数列表) = 0;
c)实现:
virtual void 函数名(参数列表)
{
......
}
d)包含纯虚函数的类就叫抽象类