首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; classA { public: virtual void f(){cout
有如下程序: #include using namespace std; classA { public: virtual void f(){cout
admin
2013-05-30
71
问题
有如下程序:
#include
using namespace std;
classA
{
public:
virtual void f(){cout<<“1”;}
};
classB:publicA
{
public:
B(){cout<<“2”;}
};
classC:publicB
{
public:
virtual void f(){B::f();cout<<“3”;)
};
int main()
{
A aa,*p;
B bb;
C cc;
p=&cc;
p->f();
return 0:
}
执行上面程序的输出是__________。
选项
答案
2213
解析
B bb将定义一个B型对象bb,这时需调用B的构造函数,在该构造函数中,将输出”2”;C cc将定义一个C型对象cc,这时需调用C的构造函数,而该函数为缺省构造函数,其将调用父类B的构造函数,在该构造函数中,将输出“2”;由于p采用指针方式调用成员函数f,而f在基类中被声明为虚拟函数,故函数f的执行与指针p所指向对象的实际类型相一致,p指向一个C型对象cc,故执行p->f()时,将执行C的f函数,在该函数中,首先直接调用了父类B的函数f.而在B中直接继承了A类的f函数,故先要执行A的f函数,输出“1”,然后再输出“3”。
转载请注明原文地址:https://www.kaotiyun.com/show/EnNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;intfun(inta,intb){return(++a*b++);}voidmain(){
把实体一联系模型转换为关系模型时,实体之间多对多关系在关系模型中是通过()。
在深度为7的满二叉树中,非叶子结点的个数为()。
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为()。
以下函数模板max()的功能是:返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)if(a[i]>
下面关于形参与实参的说法,正确的是()。
若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为【】。
下列关于this指针的叙述中,正确的是()。
下面关于类的静态成员,说法正确的是______。
随机试题
学习社会强调四种基本的学习,即__________、学会做事、学会共同生活和学会生存。
Hisanxiety______thegamerenderedhimagainsttherule.
口腔健康调查的工作步骤不包括
关于前臂双骨折的治疗,下列说法哪项是错误的()
2003年初,某开发商欲在城北城市建设用地规划圈内的一块“城中村”土地上建设商品房。为了不耽误商机,开发商直接与该村委会订下意向协议,愿意支付补偿费用,并先采取租用的方式启动项目。2004年初,土地被征收为国有后,开发商通过正常出让程序获得土地使用权。20
函数ex展开成为x-1的幂级数是:
为使建筑产生活跃、醒目的气氛,富有活力,常采用()手法。
银行对账的具体步骤包括()。
开:关
物上请求权[中山大学2011年研;南京大学2009年研]
最新回复
(
0
)