首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include <iostream> using namespace std; class Part{ public: Part(int x=0):val(x) { cout<<val; }
有如下程序: #include <iostream> using namespace std; class Part{ public: Part(int x=0):val(x) { cout<<val; }
admin
2017-10-17
103
问题
有如下程序: #include <iostream> using namespace std; class Part{ public: Part(int x=0):val(x) { cout<<val; } ~Part() { cout<<val; } private: int val; }; class Whole { public: Whole(int x, int y, int z=0):p2(x),p1 (y),val(z) { cout<<val; } ~whole() { cout<<val; private: Part p1,p2; int val; }; int main() { Whole obj (1,2,3); return 0; }程序的输出结果是
选项
A、123321
B、213312
C、213
D、123123
答案
B
解析
本题考查的知识点是:类的构造与析构。建立一个类的对象时,构造函数的执行顺序如下:
①执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
②执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下:(如果一行声明了多个对象,则还要遵循自左向右)
③执行自身的构造函数。
析构顺序与之相反。本题的Whole类没有基类,但有两个Part类的成员p1和p2。根据它们定义的顺序,应该先构造p1再构造p2,而不是按Whole的构造函数中初始化列表的顺序那样构造。所以,第1个被构造的是p1(y),输出一个2;第2个被构造的是p2(x),输出一个1;最后调用自身构造函数,输出val的值3。析构函数严格与之相反。故输出结果为213312,本题应该选择B。
转载请注明原文地址:https://kaotiyun.com/show/TPAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请阅读以下程序 main( ) { int x=1.y=0, a=0, b=0: switch(x) { case 1:
类内部定义的______和______数据不能被不属于该类的成员函数来存取,定义为______的数据,可以在类外部进行存取。
下列叙述中,不属于测试的特征的是()
关于构造函数A()的拷贝构造函数正确的是()
下面程序的输出结果是()#include<iostream>usingnamespacestd;intmain(){ints:for(intk=2;k<6;k+=2){s=1;
下列关于虚函数的描述中,正确的是()。
在一个成员函数内调用一个虚函数时,对该虚函数的调用进行______联编。
下列程序将x,y和z按从小到大的顺序排列,请将下面的函数模板补充完整。template<classT>voidfun(______){Ta;if(x>y)
下列符号中可以用作C++标识符的是()。
在数据流图(DFD))中,带有名字的箭头表示
随机试题
SDS-Hb测定法血红蛋白最大的优点是
患者女,19岁,中学生。既往体健。一天前上午因学习成绩之事与同学发生争执,受到多入围观,情绪低落,午餐时自行饮红酒一杯入睡。上晚自习时,突然不能行走,以双下肢麻木无力入院。入院后体查未见异常,神经系统检查:双下肢肌力0级,感觉减退,浅反射和深反射均正常,病
在高血压急症中,降压最迅速的药物是()。
咨询单位提交的咨询报告在主要观点和结论甚至整个咨询报告质量方面存在较大缺陷,不符合合同或委托书的要求,咨询单位应承担()违约责任。
按()分,建设项目管理可以分为业主方的项目管理、设计单位的项目管理、施工单位的项目管理以及材料、设备供应单位的项目管理。
银行业从业人员不包括()。
下列句子中,没有错别字的一句是()。
评价社会主义条件下生产资料所有制形式的标准是()。
关系数据库是采用【】作为数据的组织方式。
FLUENT:
最新回复
(
0
)