首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class ONE { public: virtual void f() { cout << "1"; }
有如下程序: #include<iostream> using namespace std; class ONE { public: virtual void f() { cout << "1"; }
admin
2009-03-15
50
问题
有如下程序:
#include<iostream>
using namespace std;
class ONE
{
public:
virtual void f() { cout << "1"; }
};
class TWO: public ONE
{
public:
TWO() {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
解析
本题考查了派生类的构造和虚函数的运用。在主函数中,首先定义了一个ONE类的一个对象aa和一个指针p。然后定义一个TWO类的对象bb,此时TWO类的默认构造函数会被执行,输出一个“2”。接下来又定义了一个THREE类的对象 cc,因为THREE类是TWO类的派生类,所以会调用TWO类的构造函数,再输出一个“2”。然后让p指向对象cc。最后通过ONE类指针p调用THREE类对象cc的成员函数f(),因为f()函数是虚函数,所以调用的是THREE类中的f()函数。在该函数中,首先通过作用域运算符“::”调用TWO类中的f()函数,而TWO类自身没有定义该函数,但它从ONE类中继承了一个,所以该步实际调用的是ONE类中的 f()函数,输出一个“1”,最后返回到THREE类的f()函数中,输出一个“3”结束调用,返同主函数,整个程序运行结束。故最终输出的结果是:2213。
转载请注明原文地址:https://www.kaotiyun.com/show/5sjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
执行以下语句段后,xy的值是()。int*pt,xy;xy=200;pt=&xy;xy=*pt+30;
下列数组定义中错误的是()。
有如下程序段:intx=12;doubley=3.141593;printf("%d%8.6f",x,y);其输出结果是()。
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
设某二叉树的前序序列与中序序列均为ABCDEFGH,则该二叉树的后序序列为
在E-R图中,用来表示实体的图形是
C语言规定,函数返回值的类型是()。
交换两个变量的值,不允许用临时变量,应该使用下列()位运算符。
以下选项中不属于C语言程序运算符的是()。
随机试题
以下不可以设定行政强制措施的是()。
男性,20岁,突然出现颈部肿大,伴发热l天,呼吸困难。查体:颈前肿胀明显,对称性,明显触痛,张力大。应做如何处理
栓剂制备时栓膜的润滑剂应与基质的溶解性相反。()
在⑧轴上的立柱最少数量为:
监理机构可采用平行检测方法对承包人的检验结果进行复核。平行检测的检测数量,混凝土试样不应少于承包人检测数量的(),重要部位每种强度等级的混凝土最少取样1组;土方试样不应少于承包人检测数量的();重要部位至少取样3组。
利用布置在设计开挖轮廓线上的爆破炮孔,将作为围岩保护层的“光爆层”爆除,从而获得一个平整的洞室开挖壁面的一种控制爆破方式是()。
石灰的熟化过程为()。
下列各项,属于辛迪加贷款的特点的是( )。
根据我国《宪法》,国务院常务会议的组成人员是()。
A、Afewweeksbeforetheexam.B、Afewmonthsbeforetheexam.C、Afewdaysbeforetheexam.D、Afewhoursbeforetheexam.D
最新回复
(
0
)