有如下程序: include <iostream> using namespaee std; class ONE{ public: virtual void f

题目
有如下程序: include using namespaee std; class ONE{ public: virtual void f

有如下程序:

include <iostream>

using namespaee std;

class ONE{

public:

virtual void f( ){cout<<"1";}

};

class TWO:public ONE{

public:

TWO( )1 cout<<"2";}

{;

class THREE:public TWO{

public:

virtual void f( )}TWO::f( );cout<<"3";}

};

int main( ){

ONE aa,*P;

TWO bb;

THREE cc;

P=&cc;

p->f( );

return 0;

}

程序的输出结果是______。

参考答案和解析
正确答案:2213
2213 解析:TWO bb;调用TWO的构造函数打印2;THREE cc;调用继承类TWO的构造函数打印2;p->f( );调用类TREE的函数f( ),先显式调用TWO类的函数f( ),TWO中没有重新定义f( )函数,所以调用TWO的基类ONE的虚函数f( );打印1,然后再打印3,故答案为2213。
更多“有如下程序: include <iostream> using namespaee std; class ONE{ public: virtual void f ”相关问题