首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include <iostream> using namespace std; class Base { protected: Base( ){cout<<’A’; } Base(char c)
有如下程序 #include <iostream> using namespace std; class Base { protected: Base( ){cout<<’A’; } Base(char c)
admin
2017-10-17
33
问题
有如下程序 #include <iostream> using namespace std; class Base { protected: Base( ){cout<<’A’; } Base(char c) { cout<<c; } }; class Derived: public Base { public: Derived(char c){ cout<<c; } }; int main( ){ Derived d1 (’B’); return 0; } 执行这个程序屏幕上将显示输出
选项
A、B
B、BA
C、AB
D、BB
答案
C
解析
本题考查的是派生类对象的构造。建立派生类对象时,构造函数的执行顺序如下:
(1) 执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右):
(2) 执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下):
(3) 执行派生类的构造函数。
所以本题在建立派生类Derived的对象d1时会先调用基类Base的构造,由于派生类中没有通过初始化列表显式构造基类对象,所以调用的是基类的默认构造函数,会输出一个’A’。然后调用自身的构造函数,输出传入的构造参数’B’。故程序输出的结果是:AB。所以应该选择C。
转载请注明原文地址:https://kaotiyun.com/show/EJAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序段:#include<iostream.h>#defineMIN(x,y)(x)<(y)?(x):(y)voidmain(){inti,j,K;i=10;j=15;k
不能实现函数之间数据传递的是()
下列字符串常量表示中,()是错误的。
已知类Sample中的一个成员函数说明如下:voidSet(Sample&a);其中,Sample&a的含意是()。
设有如下关系表:则下列操作中正确的是
下列运算符中,不能重载的是
利用成员函数对双目运算符重载,其左操作数为______,右操作数为______。
关于运算符重载,下列表述中正确的是( )。
下列符号中可以用作C++标识符的是()。
随机试题
电流是物体中带电粒子的定向运动。()
A.高效液相色谱B.电泳法C.折光法D.热分析法E.pH测定法根据电池电动势变化测出离子浓度
室内空气污染物的来源,不包括
抢救酮体酸中毒昏迷患者宜选用
理想气体的压强公式是()。
根据购销合同由收款人发货后委托银行向异地付款人收取款项,由付款人向银行承认付款的结算方式是()。
商业银行对理财产品进行风险评级的依据应当包括但不限于以下()因素。
违反《旅行社条例》规定,旅行社服务网点从事招徕、咨询以外的活动的,由旅游行政管理部门或工商行政管理部门()。
旅游签证在中国为L字签证,所属的签证的类别是()。
质性研究
最新回复
(
0
)