关于购物网站建设的论文,.net 网站管理系统,广告设计介绍,photoshop免费素材库文章目录1.什么是虚函数#xff1f;2.虚函数的调用1.什么是虚函数#xff1f;
存在父子继承关系的类对象中#xff0c;对于这些对象中的成员函数进行调用时#xff0c;
如果没有虚函数#xff0c;那么需要通过各自的对象指针可以对各自的成员函数进行访问#xff0c;
不…
文章目录1.什么是虚函数2.虚函数的调用1.什么是虚函数
存在父子继承关系的类对象中对于这些对象中的成员函数进行调用时
如果没有虚函数那么需要通过各自的对象指针可以对各自的成员函数进行访问
不可能实现父类对象指针来访问子类的成员函数。虚函数可以实现使用父类的指针访问子类的成员函数。
这里面有使用的前提条件1.父类的指针必须指向要调用的子类对象 比如父类是a子类是b父类a的指针ptr要调用b中成员函数那么ptr必须指向子类对象。 a ptrnew b(...);2.父类和子类必须都要要这个函数的定义。 函数返回类型函数名函数参数必须一致但是实现可以不同。 一般来说子类才会有完整的函数实现父类的虚函数甚至可以定义为纯虚函数 3.要被调用的函数必须在父类中声明为虚函数 virtual void function(){.........
}2.虚函数的调用
当父类和子类中都有相同的成员函数返回类型函数名函数参数相同实现不同
并且成员函数为虚函数时可以使用父类的指针指向子类对象实现对子类虚函数的访问。使用父类的指针指向子类对象不能对子类中的非虚函数进行访问。使用父类的指针指向子类对象可以实现对父类的成员函数进行访问
若成员函数为虚函数ptr-a::function()可以实现对父类虚函数的访问
若成员函数为父类独有那么父类的成员函数可以使用指针直接访问。