问题 填空题

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

单项选择题 A1/A2型题
名词解释