填空题
有如下程序: #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;
程序的输出结果是______。
1、
【正确答案】
1、2213
【答案解析】[解析] TWO bb;调用TWO的构造函数打印2;THREE cc;调用继承类TWO的构造函数打印2;p->f( );调用类TREE的函数f( ),先显式调用TWO类的函数f( ),TWO中没有重新定义f( )函数,所以调用TWO的基类ONE的虚函数f( );打印1,然后再打印3,故答案为2213。