问题 填空题

有如下程序:
#inClude<iostream>
using namespace std;
class AA

public:
viltual void f()

cout<<"AA";


class BB:public AA

public:
BB()

cout<<"BB";


class CC:public BB

public:
virtual void f()

BB::f();
cout<<"CC";


int main()

AA aa,*p;BB bb;CC cc;
p=&cc;
p->f();
return 0;

运行后的输出结果 【15】

答案

参考答案:BBBBAACC

解析: 本题考核虚函数。本题中,函数f()在基类AA中派生类CC中都声明为虚函数,所以采用动态联编。主函数首先定义类AA的对象aa和指针对象p,然后定义了类BB的对象bb,此时调用了类BB的构造函数输出BB。再定义类CC的对象cc,由于类CC是类BB的派生类,所以此时又调用类BB的构造函数输出BB。最后执行语句“p=&cc;p->f();”,输出AA和CC。

单项选择题
单项选择题