首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; classA { public: virtual void f(){cout
有如下程序: #include using namespace std; classA { public: virtual void f(){cout
admin
2013-05-30
68
问题
有如下程序:
#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全国计算机二级
相关试题推荐
下列关于运算符重载的叙述中,正确的是()。
C++提供的【】机制允许一个派生类继承多个基类,即使这些基类是相互无关的。
关于二义性的描述错误的是()。
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
软件危机出现于20世纪60年代末,为了解决软件危机,人们提出用【】的原理来设计软件,这就是软件工程诞生的基础。
语句cout<<setfill("")<<setw(4)<<setfill(’i’)<<setw(7)<<’m’<<end1;的输出结果为()。
在深度为6的满--X树中,叶子结点的个数为【】。
一个抽象类的派生类可以实例化的必需条件是实现了所有的【】。
实体关系图(E-R图)是用来描述【】。
if语句的语法格式可描述为:格式1:if(<条件>)<语句>或格式2:if(<条件>)<语句1>else<语句2>关于上面的语法格式,下列表述中错误的是()。
随机试题
根据《水利工程建设项目施工监理规范》(SL288—2014)的有关规定,监理机构可采用跟踪检测方法对承包人的检验结果进行复核。跟踪检测的检测数量,土方试样不应少于承包人检测数量的()。
呕吐的基本病机是
女性内生殖器是指
工序能力指数记为CPK(或CD)可以判别工序施工状态好坏。一般把工序能力指数分5级,其中,表示工序能力指数合格,但不充分的是等级()。
根据《商业银行法》的规定,商业银行总行向分行拨付营运资金总和不得超过总行资本金总额的()。
税收是国家普遍采用的取得财政收入的形式,它与其他财政收入形式相比,具有()等形式特征。
你所在的公安局派你去参加一个由上级组织的临时性的联合执法组活动,你打算怎么办?
AtleasthewasthereintimetotellhisadventurestoJim,whohaddone________ofthework.
Iproposethatwediscussthisatthenextmeeting.
A、Inashop.B、Atahotel.C、Atarestaurant.D、Atalibrary.B根据文中“housekeepingstaff”和“Reception”等关键词可推断出对话发生在旅馆里,故选B。
最新回复
(
0
)