一:概述
多态是指消息被不同类型的对象接收时导致不同的行为。严格来说,多态分为四类:重载多态、强制多态、包含多态和参数多态。前两种称为专用多态,后两种称为通用多态。
普通函数以及类的成员函数的重载属于重载多态。包含多态是通过虚函数来实现的。而参数多态与类模板相关联。下面就重点介绍一下虚函数引起的多态。
二虚函数
虚函数是动态联编的基础。
根据赋值兼容,用基类类型的指针指向派生类,就可以通过这个指针来使用派生类的成员函数。如果这个函数是普通的成员函数,通过基类类型的指针访问到的只能是基类的同名成员。而如果将它设置为虚函数,则可以使用基类类型的指针访问到指针正在指向的派生类的同名函数。这样,通过基类类型的指针,就可以使属于不同派生类的不同对象产生不同的行为,从而实现运行过程的多态。
其定义为:
virtual 函数类型 函数名(形参表)
三 纯虚函数
纯虚函数是一个在基类中说明的虚函数,它在基类中没有定义具体的操作内容,要各派生类根据实际需要自己定义自己的版本
其定义为:
virtual 函数类型 函数名(形参表)=0;
四 抽象类
带有纯虚函数的类是抽象类。它为一个类族建立一个公共的接口,使他们更有效的发挥多态特性。抽象类不能实例化。
阅读(1585) | 评论(0) | 转发(0) |