虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #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+
第1题:
14、多态调用是指()。
A.以任何方式调用一个虚函数
B.以任何方式调用一个纯虚函数
C.借助于指向对象的基类指针或引用调用一个虚函数
D.借助于指向对象的基类指针或引用调用一个纯虚函数
第2题:
关于多态的描述,错误的是()。
A.通过函数重载可以实现静态多态
B.通过基类指针调用虚函数可以实现动态多态
C.通过基类引用调用虚函数可以实现动态多态
D.通过基类对象调用虚函数可以实现动态多态
第3题:
下列有关C++的面向对象方法的多态的概念的叙述中,不正确的是()。
A.C++的面向对象方法的多态,必须存在基类指针指向派生类对象
B.存在基类类型的指针指向派生类对象,且通过该指针调用虚函数
C.存在基类类型的指针指向派生类对象,基类和派生类的同名虚函数的参数必须相同
D.必须存在着声明为虚函数的友元函数
第4题:
112、多态调用是指()。
A.以任何方式调用一个虚函数
B.以任何方式调用一个纯虚函数
C.借助于指向对象的基类指针或引用调用一个虚函数
D.借助于指向对象的基类指针或引用调用一个纯虚函数
第5题:
52、要实现动态联编必须()。
A.通过成员名限定来调用虚函数
B.通过对象名来调用虚函数
C.通过派生类对象来调用虚函数
D.通过对象指针或引用来调用虚函数