多态与虚函数
在C++中,多态有两种,一种是函数重载,一种是虚函数。
多态性:指一个名字,多种语义;或界面相同,多种实现。重载函数是多态性的一种简单形式。虚函数允许函数调用与函数体的联系在运行时才进行,称为动态联编。
虚函数:
冠以关键字 virtual 的成员函数称为虚函数。基类指针
实现运行时多态的关键首先是要说明虚函数,另外,必须用调用派生类的不同实现版本。
虚函数与基类指针
基类指针虽然获取派生类对象地址,却只能访问派生类从基类继承的成员
虚函数:
虚函数在不同的派生类中可能存在不同的实现,通过重载基类的虚函数,可以生成特定的派生类版本,如果派生类中无重载该虚函数,则使用基类版本,而且无论虚函数重定义是否使用virtual关键字,都还是虚函数。虚函数可以是友元函数但不能是静态成员。