多态问题

来源:百度知道 编辑:UC知道 时间:2024/07/06 17:30:04
一句话:通过指向基类的指针调用派生类对象的函数时,采用多态调用
说是错的

我理解这时候需要采用virtual函数,所以利用了多态,请讲一下多态调用和这句话为什么是错的,谢谢~

多态性指的是程序在运行的时候才决定调用的是基类(父类)的函数还是调用的派生类(子类)的函数
这种情况我们叫函数的覆盖

用了virtual函数 不一定就是函数的覆盖
覆盖要求函数的名相同 且参数个数 类型也相同

当参数的数目和类型不相同 (不管基类是不是有virtual关键词修饰) 我们叫函数的隐藏
(程序在编译的时候已经可以确定调用的是那一个函数了)

派生类对象可以被当作其基类对象来使用.
用指向派生类对象的基类指针调用虚函数,是采用多态调用