首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include <iostream> using namespace std; class Base { public: Base(int x=0) { cout<<x; } } class
有如下程序: #include <iostream> using namespace std; class Base { public: Base(int x=0) { cout<<x; } } class
admin
2017-10-17
42
问题
有如下程序: #include <iostream> using namespace std; class Base { public: Base(int x=0) { cout<<x; } } class Derived: public Base{ public: Derived(int x=0) { cout<<x; } private: Base val; }; int main() { Derived d(1); return 0; }程序的输出结果是
选项
A、0
B、1
C、1
D、1
答案
D
解析
本题考查的知识点是:类的构造。建立一个类的对象时,构造函数的执行顺序如下:
①执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
②执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下):(如果一行声明了多个对象,则还要遵循自左向右)
③执行自身的构造函数。
本题Derived类继承于Base类,所以首先会构造基类Base,但Derived类的构造函数没有初始化列表,所以将调用Base类的默认构造函数,输出一个0。接下来由于它的成员中还定义了一个Base类的对象,而构造函数也没有显示初始化这个对象,所以再次调用Base类的默认构造函数输出一个0。最后构造自身,因为主函数中传入了构造参数1,所以构造自身时输出了一个1。故最终输出结果为001,应该选择 D。
转载请注明原文地址:https://kaotiyun.com/show/gXAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在下面的运算符重载函数的原型中,错误的是
若有一个MyClass类,则执行语句MyClassa,b(2),*p;后,自动调用该类的构造函数()次。
模板函数的真正代码是在()时候产生。
下列关于栈的描述中错误的是
将下面的语句段(A)补充完整,使其和语句段(B)在功能上完全等价。(a)doubles=0.0;【】;intk=0;do{s+=d;k
下面对静态数据成员的描述中,正确的是
软件生命周期包括八个阶段。为使各时期的任务更明确,又可以分为以下三个时期:软件定义期,软件开发期,软件维护期。编码和测试属于【 】期。
表达式18/4*sqrt(4.0)/5值的数据类型是()
在面向对象方法中,类之间共享属性和操作的机制称为______。
下列选项中合法的用户标识符是( )。
随机试题
求下列极限
PLC与计算机通信设置的内容是()。
引起出血性结肠炎的细菌是()
糖尿病酮症酸中毒治疗,补碱的指征是
A.做好检疫隔离、疫情预报、疫源地消毒、预防接种和个人防护B.防霉和防尘,加强个人防护和定期健康监护C.诱蛾、捉虫、杀虫,作业时注意个人防护D.治疗钩虫病患者,粪便封存无害化使用,穿鞋袜、长裤作业E.结合施肥消灭椎实螺,粪便无害化处理和个人
市场经济要有效地配制资源,必须要有商品市场和生产要素市场组成的健全的市场体系,商品和生产要素自由交换,自由流动,()则作为交换的工具。
Sometimeswehavespecificproblemswithourmother;sometimes,lifewithhercanjustbehardwork.Iftherearedifficultiesi
已知R3=0x80001000,R4=0x00A00010,执行ARM指令MOVR3,R4,LSL#8后,R3的值为()。
根据程序执行的局部性原理,若一条指令被执行,则在不久的将来,它可能被再执行是对______局部性的描述。
______enablesustoknowthepastandtouseitinpreparingforthefuture.
最新回复
(
0
)