( 32 ) 虚函数支持多态调用 , 一个基类的指针可以指向派生类的对象 , 而且通过这样的指针调用虚函数时 ,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:#includeusing 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+

( 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+


相关考题:

虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> 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+

多态性指的是A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数

多态性指的是( )。A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数

只有使用虚函数机制,才能_____________A.使用基类指针调用派生类的成员函数B.使用派生类指针调用基类的成员函数C.使基类指针指向派生类对象D.使派生类指针指向基类对象

如果采用动态多态性,要调用虚函数的是()A.基类对象指针B.对象名C.基类对象D.派生类名

14、多态调用是指()。A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数

112、多态调用是指()。A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数

关于多态的描述,错误的是()。A.通过函数重载可以实现静态多态B.通过基类指针调用虚函数可以实现动态多态C.通过基类引用调用虚函数可以实现动态多态D.通过基类对象调用虚函数可以实现动态多态

下列有关C++的面向对象方法的多态的概念的叙述中,不正确的是()。A.C++的面向对象方法的多态,必须存在基类指针指向派生类对象B.存在基类类型的指针指向派生类对象,且通过该指针调用虚函数C.存在基类类型的指针指向派生类对象,基类和派生类的同名虚函数的参数必须相同D.必须存在着声明为虚函数的友元函数