问题
填空题
有如下程序:
#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。