首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
39
问题
有如下程序 #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
C++定义了类库实现数据的输入和输出,______为根基类。
以下定义数组中错误的是()
若有以下程序:#inclcude<iostream.h>voidmain(){inti;inta[3][3]={’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’);for(i=0;
实现比较两个字符串大小的函数是_____。
()既可重载为一元运算符,又可重载为二元运算符。
()是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。
有如下定义:classMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中MA类的对象名标识符是______
随机试题
公路安全护栏根据碰撞后的变形程度,可分为刚性护栏、半刚性护栏、柔性护栏。()
骨肉瘤的特点是______。
混合性呼吸困难的特点是
流行性乙型脑炎脑部病变中不包括
A.背俞穴排刺B.手阳明经排刺C.足阳明经排刺D.手太阳经排刺E.足太阳经排刺痿证若出现下肢肌肉萎缩,宜配合
生物体内核苷酸中的磷酸基团最常位于戊糖的
无资质承包主体签订的分包合同都是无效合同,但当实际施工人的利益受到侵害时,可以向发包人主张权利,此情况下发包人承担责任的范围是()。
八路军:百团大战
层次模型表达实体类型及实体之间联系用的数据结构是______。
Don’tbeangry______littleLucy:sheisonlyachildafterall.
最新回复
(
0
)