首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
26
问题
有如下程序 #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全国计算机二级
相关试题推荐
C++定义了类库实现数据的输入和输出,______为根基类。
关于多继承二义性的描述中,错误的是()。
有如下类的定义。那么空格处的语句是()。classMyClass{____________intx,y;public:MyClass(intx1=0,inty1=0){
C++语言是以()语言为基础逐渐发展演变而成的一种程序设计语言。
设有如下关系表:则下列操作中正确的是
在表达式x+y*z中,“+”是作为成员函数重载的运算符,“*”是作为非成员函数重载的运算符。下列叙述中正确的是()。
运算符函数调用格式的表达式y/x++与表达式y.operator/(operator++(x,0))的含义相同,由此可看出()。
有如下定义:classMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中MA类的对象名标识符是______
利用成员函数对双目运算符重载,其左操作数为______,右操作数为______。
下列选项中,正确的C++标识符是
随机试题
Ofthefollowingfoursports,______hasthelongesthistory.()
A.天枢B.冲阳C.膻中D.巨阙E.丘墟手厥阴心包经的募穴是
外用抗铜绿假单胞菌感染的药物是
中华人民共和国主席是我国国家机构的重要组成部分。对内对外代表国家,依法行使宪法规定的国家主席职权。下列哪一选项不属于国家主席的职权?()
上海证券交易所会员在证券登记结算公司的资金交收账户出现透支,如在T+2下午17:00之前未能弥补,则每天按透支金额的0.4%处以罚款。()
在完全竞争条件下,与平均收益曲线重叠的是()。
从审计方法的发展历史来看,大致经历了以下哪几个阶段?()
【2014年贵州镇远.简答】为什么说学校教育在人的身心发展中起主导作用。
法学上,将法律实际施行的状态和程度称为()。(2009年单选4)
已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是
最新回复
(
0
)