• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

问个关于C++ 多态性的问题

341e62b83030513e 2018-07-27 浏览量:724
现在有一个基类,基类含有两个纯虚函数a()、b(),这个基类被A、B两个派生类继承,A、B两个派生类都将a()、b()两个方法实现了,那么在使用这个基类的两个函数的时候,用的是A和B哪个派生类的实现呢?毕竟基类把参数和函数名都确定了!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 值得注意:多态性实现必须要父类形参传入了子类对象,才能智能识别出是哪个子象,从而调用这个对象的对应函数。这里已经定死了是哪个子类,所以不存在歧义问题。
    • 发布于 2018-07-27
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 楼主直接写一段程序验证一下就行了,虚函数属于运行时多态,父类中有虚函数的话就要由传入的子类对象去具体实现虚函数的多态性,也就是有子函数决定虚函数该怎么运行。既然这里的a() b()分别是类A和类B的对象,那就是已经确定好了子类,也就可以知道该执行哪个之类的函数了。

    • 发布于2018-07-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 它这里连实现的方法都确定了,就没有派生类的实现这种概念了吧
    • 发布于2018-07-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个最好是自己写一段程序进行验证,看的类里面的派生是不是可以相互调用
    • 发布于2018-08-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

问个关于C++ 多态性的问题