"此时指向基础类的指针pFather已经变成指向具体的类son的this指针,那么我们调用这个pFather父类指针,就相当于调用了等号右边的类即子类son的this指针,这个this所能调用的函数,自然就是子类son本身的函数。即pFather->Say();这行代码调用的是子类的Say()函数。因此我们就成功的实现了用父类指针pFather调用子类函数,也就是实现了多态。" 这部分我觉得不太准确。因为多态实现依靠虚函数表,可以用基类的指针是因为查找虚表的虚表指针在子类的父类部分,生成子类的对象的时候,有了新的虚表,并且对父类的虚方法进行了覆盖,这个指针实际上还是没法调用子类中的非虚函数方法。
1

相关推荐

11-06 16:50
门头沟学院 Java
用微笑面对困难:word打字比赛二等奖的我,也要来凑合凑合
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务