问题 填空题

有如下程序: #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

解析: TWO bb;调用TWO的构造函数打印2;THREE cc;调用继承类TWO的构造函数打印2;p->f( );调用类TREE的函数f( ),先显式调用TWO类的函数f( ),TWO中没有重新定义f( )函数,所以调用TWO的基类ONE的虚函数f( );打印1,然后再打印3,故答案为2213。

单项选择题
多项选择题