( 32 ) 虚函数支持多态调用 , 一个基类的指针可以指向派生类的对象 , 而且通过这样的指针调用虚函数时 ,
被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:
#include
using namespace std;
class Base
{
public:
virtual void f () {cout<< ” f0+ ” ;}
void g () {cout<< ” g0+ ” ;}
};
class Derived:public Base
{
public:
void f () {cout<< ” f+ ” ;}
void g () {cout<< ” g+ ” ;}
};
int main ()
{
Derived d;
Base*p= & d;
p->f () ; p->g () ;
return 0:
}
运行时输出的结果是
A ) f+g+
B ) f0+g+
C ) f+g0+
D ) f0+g0+
第1题:
如果采用动态多态性,要调用虚函数的是()
A.基类对象指针
B.对象名
C.基类对象
D.派生类名
第2题:
112、多态调用是指()。
A.以任何方式调用一个虚函数
B.以任何方式调用一个纯虚函数
C.借助于指向对象的基类指针或引用调用一个虚函数
D.借助于指向对象的基类指针或引用调用一个纯虚函数
第3题:
下列有关C++的面向对象方法的多态的概念的叙述中,不正确的是()。
A.C++的面向对象方法的多态,必须存在基类指针指向派生类对象
B.存在基类类型的指针指向派生类对象,且通过该指针调用虚函数
C.存在基类类型的指针指向派生类对象,基类和派生类的同名虚函数的参数必须相同
D.必须存在着声明为虚函数的友元函数
第4题:
14、多态调用是指()。
A.以任何方式调用一个虚函数
B.以任何方式调用一个纯虚函数
C.借助于指向对象的基类指针或引用调用一个虚函数
D.借助于指向对象的基类指针或引用调用一个纯虚函数
第5题:
关于多态的描述,错误的是()。
A.通过函数重载可以实现静态多态
B.通过基类指针调用虚函数可以实现动态多态
C.通过基类引用调用虚函数可以实现动态多态
D.通过基类对象调用虚函数可以实现动态多态