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