首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
46
问题
有如下程序 #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全国计算机二级
相关试题推荐
以下定义数组中错误的是()
关于构造函数A()的拷贝构造函数正确的是()
有如下程序:#include<iostream>usingnamespacestd;classAA{public:virtualvoidf(){cout<<
在一个成员函数内调用一个虚函数时,对该虚函数的调用进行______联编。
()是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。
已知类A有公用数据成员a,且有A obj2;A * const ptr=new A;则下列语句正确的是
即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员,这说明继承具有
在表达式x+y*z中,“+”是作为成员函数重载的运算符,“*”是作为非成员函数重载的运算符。下列叙述中正确的是()。
以下选项中合法的用户标识符是
随机试题
按照凯恩斯的观点人们需要货币是由于()
下列关于磷酸伯氨喹的说法错误的是
A.红霉素 B.阿奇霉素 C.克拉霉素 D.林可霉素 E.氯霉素抗菌谱较红霉素广,增加了对G-菌的抗菌作用的大环内酯类药物是
FOB、CFR、CIF三种术语的价格构成主要不同点在于国外费用不同。()
下列关税种类属于按征税标准划分的有( )。
工艺创新不包括(),它是指产品的生产技术的变革。
某服务对象觉得自己的生活不如意,没有什么指望。社会工作者回应:“在您的生活中,哪些事情让您觉得自己没有指望了?”社会工作者的回应运用了会谈技巧中的()。
2012年7月18日,财政部和国务院南水北调办公室率先公布“三公”经费信息,“三公”经费公开已经成为政府信息公开的一项重要内容。下列关于政府信息公开的相关说法,正确的是()。
假定有如下程序:PrivateSubFormClick()DimNAsIntege,JAsIntegerN=0J=1DoUntilN>2N=N+1:J=J+N*fN+1)LoopPrintN:JEnd
Lookatthepeoplearoundyou.Somearepassive,othersmoreaggressive.Someworkbestalone,otherscravecompanionship.Weea
最新回复
(
0
)