A-A+

有下列程序:include<iostream> using namespace std; c

2022-08-05 20:15:37 问答库 阅读 171 次

问题详情

有下列程序:
include<iostream>
using namespace std;
class ONE
{
public:
virtual void f(){COUt<<"1";}
};
c1assTWO:public ONE
{
public:
TWO(){cout<<"2";}
};
class THREE:public TWO
{
pub请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:2213
2213 解析: 此题考查的是派生类的构造和析构函数。建立TWO的对象bb时,调用TWO的构造函数,输出“2”;THREE类又派生于TWO类,所以建立THREE类的对象cc时又会输出“2”;ONE类的对象指针p指向了THREE类的ONE类的虚函数f(),输出“1”;最后调用THREE类的f(),输出“3”。故最终的输出结果是2213。

考点:程序