虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #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+
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #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+
相关考题:
( 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+
下列有关C++的面向对象方法的多态的概念的叙述中,不正确的是()。A.C++的面向对象方法的多态,必须存在基类指针指向派生类对象B.存在基类类型的指针指向派生类对象,且通过该指针调用虚函数C.存在基类类型的指针指向派生类对象,基类和派生类的同名虚函数的参数必须相同D.必须存在着声明为虚函数的友元函数