首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; classA { public: virtual void f(){cout
有如下程序: #include using namespace std; classA { public: virtual void f(){cout
admin
2013-05-30
72
问题
有如下程序:
#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://kaotiyun.com/show/EnNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序段的执行结果为【】。#include<iostream.h>#definePLUS(x,y)x+yvoidmain(){intx=1,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,
C++提供的【】机制允许一个派生类继承多个基类,即使这些基类是相互无关的。
软件生存周期包括软件定义、【】、软件使用和维护三个阶段。
若有如下程序:#include<iostream>usingnamespacesstd;ints=0;classsample{staticintn;public:sample(inti){n=i;}staticvoidadd(){
下列程序的运行结果是()。#include<iostream.h>voidfun(int*a,int*b) {int*k;k=a;a=b;b=k;}voidmain(){inta=2OO4,b=9,*x=&a,*y=&b;fu
模块化程序设计过程中,追求模块的独立性,尽量做到()。
下列关于变量的说法中,正确的是()。
若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为【】。
在深度为6的满--X树中,叶子结点的个数为【】。
随机试题
由诉讼代理人代为起诉,其代理不符合法定要求的,应当裁定不予受理;已经受理的,裁定驳回起诉()
积证初起兼有外感风寒证候者,应选用:
年轻人限水12小时后,尿比重应达到
对败血症患者使用抗生素下列哪项不对
A.阿司匹林B.对乙酰氨基酚C.布洛芬D.保泰松E.吲哚美辛长期口服可引起凝血障碍的药物是
甲公司与乙银行签订借款合同,约定借款期限自2010年3月25日起至2011年3月24日止。乙银行未向甲公司主张过债权,直至2013年4月15日.乙银行将该笔债权转让给丙公司并通知了甲公司。2013年5月16日,丁公司通过公开竞拍购买并接管了甲公司。下列哪一
硅芯管抽样方案为()。
按照( )分类,可以将设备工程信息分为项目内部信息和项目外部信息。
现场质量检查时,运用敲击工具进行音感检查属于()的质量检验手段之一。
A、Toobservepeople’sattitudetowardsstrangers.B、Toseehowpeoplegetalongwiththeirfriends.C、Totestpeople’sbehavior
最新回复
(
0
)